原文(投稿日:2009/11/19)へのリンク Alan Beljeu 氏は古い (レガシー) C++ コードベースで TDD を行っていて,トラブルに見舞われた。その理由はこうだ。 機能を完全に実装できていないクラスが最後に残ります。いつか必要になるかも知れない,というやつです。他のクラスからそれを利用しようとして,実装を完成させる時がきた,まさにその時になって当初の設計不足が明らかになるのです。設計は新たにやり直し,外部仕様(とそのテスト)も修正が必要。そのクラスを使っていた既存コードも変更しなければなりません。 そして彼は,"事前の大規模設計 (Big Design Up Front)" がこの問題の解決策ではないか,と考えるのだが,アジャイルコーチである George Dinwiddie 氏は,Alan のこの例が訴えているものを指摘する。すなわち,きれいなコード (clean c