spikeとTDDって直交するんですよね?
spikeをTDDでやるのはヘンじゃないですよね?
TDDのはじめのほうに出てくるW.Cunningham氏の
WyCashの例とか、Pythonのテスティング・
フレームワークの話とかは、spikeの話でも
あるんですよね?


ユニット・テストの効果はいくつかあるんですけど、
その1つはいうまでもなく品質維持ですよね。
それからゴールを設定するということ。
それからイヤでもインタフェースを考えなきゃ
いけなくなること。


この効果のうち、品質はspikeとはあんまり
関係ないですけど、他の2つは関係あります。


spikeっていうのは深さ優先のプログラミングで、
それは特に目的地が見えてないときに有効と
されてます。で、目的地が見えないんだから
テストを書きようがないじゃないかと。
こういいたいんでしょ?


ほんとにTDD読んだ? TDDでは、目的地が
見えないときは歩幅を小さくするんですよね?
そうやって理解を深めながら、目的地を
探りながら進めるんですよね? だったら、
TDDとspikeは直交するってことに
なるじゃないですか。

  • -


K.Beck氏は『テストに関しては「計測されて
いないものは存在しない (も同然だ)」と
いう意見に同意する』っていってます。


自分は『コミットされていないものは
存在しない』っていいたいですね。


もしあなたがプロジェクトの仕事として
何かを書いたなら、それはコミット
されるべきです。


それがコードなら、たとえ使い捨ての
ように思えてもCVSに突っ込むべきです。


それがテキストなら、たとえメモで
あってもWikiに書き込むべきです。


コミットされたものこそがあなたの
仕事の証です。それがなければ
あなたにはaccountabilityがない。