TDDとパラダイムは関係ないんじゃないかなぁ

世の中には手続き型言語オブジェクト指向言語関数型言語あたりがあるとして、どれがTDDに向いてるかというと、いや特に差異はないよねという話です。

それぞれのやり方で、「手続き」なり「オブジェクト」なり「関数」なりがパターン爆発しない大きさに収まる限り、ユニットテストのコードを書くことは現実的に可能だし、RED->GREEN(もしくはその逆も)の変化を観察することに対して、大きな違いがあると思ったことはない。穿った見方をすると、書籍としてオブジェクト指向の本が多いのは、オブジェクト指向言語パラダイムが難しいことを説明してると考えることもできる。リスコフの置換原則は我々には早すぎた道具だったのだ!!

まぁとりあえず、テスト性をよくすることで自然と高凝集かつ低結合なモジュール構成が出来上がったりします。ので、私が作る程度のプログラムでは、テスト可能な感じにまとめつつ、意図通りに変化していることが観察できれば、それで十分だと考えています。

結合テストでも、よく、RED->GREENは観察しますよね。パラダイムは関係ない。

以上、 http://d.hatena.ne.jp/y_sumida/20130619/1371654638 のあたりの話題でした。