テスト=コンパイルという考え
BEST SOFTWARE WRITINGを読んだ。
Joel on Softwareよりは面白くなかったけど、
内容としては良かった。
その中でも、テストはコンパイルの一部とみなすべきだ!という主張に驚きを隠せない。
コンパイルは(不完全な)テストの一形態に過ぎないことに気づいたのだ。
強い型付け、弱い型付けがどういう影響を与えるかについて、
このブログでも、ほかのブログでも、議論されているが、
結局、強い型付けの言語(C,C++,C#,Javaなど)はコンパイルという
一つのテストをくぐり抜けるため、(ある点に置いては)LL言語に勝ると言うだけなのだ。
しっかりとしたテストを書く習慣を身につけた偉大なるプログラマには、
どちらもさほど変わらない。
このトピックのタイトルにもなっているが、
「強い型付け vs 強いテスト」
は私は強いテストに軍配が上がると思う。
これは、TDDを推進する強い助け船になりそうだ。