TDDはYAGNIに矛盾する? - u_1rohのカタチ Joel Spolskyの意見とコメント欄でのやりとりがどっちも面白かった。 僕のテストの書き方としては、テストファーストではなく、思いつきで処理を実装していくうちに仕様のようなものが見えてきたらテストを書いて保証する、というスタイルが多い。 「仕様のようなもの」というのは、「このメソッドはこういう値を返すべきだ」というような挙動の定義を指す。RSpecが「obj.foobar.should == "barbaz"」のように「should(〜すべき)」といった形式でテストを書かせ、テストをまとめたファイルを「spec(仕様)」と呼ぶのはたぶん偶然ではない。 これらは厳密な意味でのTDDとは違う(ただのユニットテスト論?)かもしれないけれど、とりあえずはこういうスタイルでやってて上手くいってる。 概念や私見はこれくらいにして、実際にど