こんばんは,ゴドーです。
今日は来週以降に使おうと思っている研究用のコードで,他の人が書かれたコードを使える形にする作業を行っていました。
試したいことは別にあるのですが,それに必要な道具をいちから作るのは大変だと思っていたところ,過去に他の人が作っていたものを見つけたので,それを使わせてもらおうと思ったわけです。
しかし,その他の人が過去に書かれたコードですが,文法が古いことに加え,もともと私的な実験用に書かれたコードのためか,規約がめちゃくちゃで可読性もよろしくない状態になっていました*1。
当初は,膨大なコード量のほとんど全てを書き直したい衝動に駆られましたが,それでは来週からの作業にどう考えても間に合わいそうもなく。
結局,過去のコードについては明らかに不要な部分を削除するだけに止め,入出力を使いやすい形にした自作のラッパーを被せて用いることにしました。
過去のコードをいちから書き直そうとすると,実装の手間に加え,テストに更なる時間がかかってしまいます。
今回件のコードはメインの部分ではなく,あくまで構成要素のひとつに過ぎなかったので,その内部処理は信頼することにして,浮いた時間を本来試したかったことに充てることにしました。
まずはメインの実験を進め,過去のコードのリファクタリングについては後から時間があるときに行おうと思います。
研究していると色々なことに目移りして,ついつい時間を消費してしまいがちです。
目的を定めたら,まずはそれに向かって一直線に進むことが大切だと,改めて認識しました。
それでは,また。
/ゴドー
*1:なお,僕自身は,過去に何度か記事にしていますが,例え実験用のコードであっても(むしろ実験用のコードだからこそ),保守性と可読性を最大限高められるように書くべきだと思っています。