TDDに関して

どんなにユニットテストを書いても、設計がクソだといつまで経ってもバグは消えない。

逆に設計がキレイに決まると、殆どテストしていなくても一発で動いてしまう。初期段階で多少のバグを出してもすぐに収束する。

確かに、書籍に書かれているTDDの例は、うまい設計ありきで書かれている気がする。『プロダクティブ・プログラマ』のTDDの例を読んだ時にそう感じた。


TDDは、テストが先だと思うが、テストが先かコードが先かが、まずどっちにすべきかが分からない。プログラミングではありがちなケースバイケースなのかもしれないけど。


「コード=ドキュメント」という意味でのテストスイートがあれば、他人のコードを読むときのヒントになる場合はありそうだけど。