2006-10-24(Tue) [長年日記]
■1 『WEB+DB PRESS Vol.35』:実演! テスト駆動開発
祖母の一周忌でIP unreachableな沖縄に数日引っこんでいる間に様々なイベントに乗り遅れた、だがしかし。以下はカッとなって書いた:
あらゆるアルファギークなお歴々による連載記事の読みごたえはここ最近の本誌の常だが、こと今号については、我らがid:t-wadaさんによるTDD記事の第1特集「実演!テスト駆動開発」、である。読め。編集者2.0、グレイトジョブ!!!!!!!
ハッカーが「見てるとやっぱめんどそうだなあ。Eclipseの中で生活できる人はあれでもいいのかも知れないけど。」とコメントしている。だがしかし。その「あれ」とはどれだ?
TDDはハッカーのための技術ではない。ハッカーにTDDは要らない。ただただハックすればよい。偉大なプログラマは偉大なプログラミングをすればよい。だが、ハッカーならぬ凡百たる私のような"普通の"プログラマはそうはいかない。TDDは我々が日々の仕事に自信を持ち、誇りを持って定時に帰るための思想だ。
TDDの真ん中のDは何か。私の日々の仕事をドライブしているものは何か。ハッカーはテストがなくともDirveされる(Drivenな)存在である。たぶん。彼らは怠惰だ。短気だ。傲慢だ。だが、少なくとも私には怠惰が足りない。怠惰が足りないプログラマの仕事をドライブするものこそテストだ。私は毎日が不安だ。自分のコードは「正しい」のか。私の書いたコードに「意味」はあるのか。「価値」はあるのか。ならば、そうだ。テストだ。「不安」をテストにするのだ。吉良吉影は静かに暮らしたい。
我々は偉大なプログラマにはなれないかもしれない。だが、偉大な習慣を身につけたプログラマにはなれる。確実に。TDDとは、そういうことだ。
この項「あとで書く」……ので、id:t-wadaさんの「実演! テスト駆動開発」を読め。特設サイトも必見。この号はプレゼントとして『テスト駆動開発入門』が2冊あることもお見逃しなきよう。読め!! 而して写経せよ!! D is for Driven。クは駆動のク。
ハッカーはJavaのTDDはPerlとかRubyのTDDより面倒そうだと言ってるだけでTDDそのものを面倒とは言ってないのでは?
TDDやってました。<br>あれって、凡人のプログラマには使えないっすよぉ><<br>テストを思いつかないっすもん><<br><br>ソースを書いて、そのテスト書いてって・・・<br>そんなコーディング順序になっちゃう・・・
それでいいんじゃないですか。TDDも1つの技法でいきなり上手にできるわけではないし、はじめのうちはテストを後回しに書いても仕方がないでしょう。そのうち、どういうテストを先に書けばいいかがわかるようになります。一番大切なのは、テストがあることで安心が得られること。