ぼーっとしながら思ったのは。バグが認識のズレの中に隠れてることって多いよなぁって。ビジネスの人の頭の中と、デザイナーさんの頭の中と、デベロッパーの頭の中で、それぞれ違うものを思い描いてたりする。だから、ユーザーストーリーマッピングとか、プロトタイプとか、あとはユビキタス言語とかで、認識の違いに早い段階で気づけるといいんだろうなぁって。
もうひとつある
認識のズレって言うと、もうひとつあるなぁって思った。デベロッパーの頭の中とコードの間。TDDの「動くコード」というのは、このデベロッパーの頭の中とコードの間の認識のズレをチェックしてくれるよなぁって。思った。でも、それだけじゃなくて。
きれいなコード
TDDだと、その動くコードをキープしたまま、きれいなコードにしていけるなぁって。テストからじゃなくて、設計から始めると「きれいなコード」から始めてしまうだろうから、使われることのない機能をきれいに作ってたりするよなぁって。だから「動作する」が先で、それに必要な分だけ「きれいに」していく、ってのはいいなぁって。
とは言いながらも
TDDに関しては、自分の中でちょっとふんわりしてる。どうなんだろうなぁって。今日はもう寝ようかな。