今更だが

最近テストコードを明示的に書いている。

以前はJupyter Notebookで簡略的かつ厳密でないユニットテストを行ってそのコードは記録には残っているが、後からどこにあるかは探さないとわからないという状況だった。本能でユニットテストを随時行っていたから一回を除いてはバグを出したことはなかった。

 

ところが最近暇だったため真面目なテストコードを書いてみたところ、これが色々な意味で重要な意味を持っていることがわかった。テストコードを書くときに対称の関数をこねくり回すのでその関数の使いにくい部分がわかってくる。また、テストコードは明示的にテストとして記録が残るので、これ自体がドキュメントとしての記録も果たす。こんなにいいことは無い。

確かにこれを書くのに、かなりの労力がいる。行数で言えば本体のコードよりもテストコードの方が長くなる。しかしコードの質に命を懸ける以上この工程は欠かせないということが理解された。