初めてオープンソースを自分好みに編集した【プログラム再利用】
研究進捗の記事です.
タイトルをどう決めるかかなり悩みました.先に言っておくと,オープンソースプロジェクト(OSS)にコミットしたとかではないです.笑
何をしたのかというと,Githubで公開されているプログラム変換ツールを自分好みに編集しました.Githubで公開されているツールということで,タイトルではオープンソースと表現しました.
機能単位(例えばCSVの入出力,Webスクレイピングなど)の数行単位の再利用は頻繁に行うのですが,数千行に及ぶプロジェクトを再利用したのは初めてでした.
具体的には,約3000行程度のPythonファイルを二つ編集したって感じです.プログラムの処理を理解,コードの追加,修正などを行うとなると,さすがに結構時間がかかり,おかげで4日丸々潰れました.コード編集の際はGithubに適宜コミットしながら行なっていましたが,コード編集によるエラー発生とか結構あったので,おそらくGithubを使っていなかったらもっと時間を要することになっていたと思います.
テストに関しては,ファイル100件を変換にかけてみて,エラーなく変換できれば問題ないだろう,という感じで行いました.結果,特に問題なく全ファイル希望通りの形式で変換できたので,とりあえずは成功かな?
ここからは所感です.
初めてオープンソースの中身を読みましたが,モジュールごとにしっかりと分けられ,またコメントアウトも適宜施されていたので,数千行とは言えど,非常に読みやすく,理解がしやすかったです.また,処理の実装方法(コードのテクニック?)などで学べる内容も多かったです.研究を進めるために今回の取り組みを行ないましたが,同時にかなり勉強になったと思います.
興味深かったのは,ソースコード内のコメントアウトで"TODO"があったことです.TODOの意味はそのままで,要はソースコード内にしなければならないことをメモする,といったもので,開発者は実装時にTODOを見て,次に実装しなければならないものなどを判断します.そのため,本来であれば出荷時,公開時にはTODOはゼロであることが当然なのですが,残っているということは問題では,,,?となりました.僕の研究分野はソフトウェア工学なのですが,このようなソースコード内に残ったTODOなどの対応に関する問題解決で「Technical Debt(技術的負債)」という研究トピックもありますが,この話はまた追々...
てなわけで最近はこんなことしてました,って記事でした.
初めは結構大変な作業になるだろうな...と思っていましたが,やり始めるとコードをいじってだんだんと自分好みになっていく様が楽しくて仕方なく,朝5,6時まで作業するって日がほとんどでした.笑
おかげさまで生活リズムは更に狂ってきていますが,進捗としてはかなり出たと思うので,近いうちにまた論文書けそうかな???
とりあえず,ペースを落とさず,この調子で研究を進めていけるように頑張ります!