テスト駆動開発はすばやいフィードバックをもたらす内容ソフトウェアを開発するいちばん安価な方法は、最初からバグが発生しないようにすることだ。次に安価な方法は、あとで別のチームが修正するのではなく、発見したらすぐに同じ人または同じチームによって修正することだ。一連の刺激と反応のトランザクションが精神に定着するためには、刺激に対してすばやい反応を続けることが必要だと、ある生物学者は示している。この生物学的観点でも、バグを生んだ本人がすぐ治すのが早いということになる。テスト駆動開発はすばやいフィードバックをもたらしてくれる。テスト駆動開発はリファクタリングをサポートするコードがテストによってサポートされている場合は、リファクタリングが安全にできる。何かを間違えたらテストが失敗してすぐに教えてくれるからだ。リファクタリングが必要なシーン視野が狭くなっていると命名が少しずさんになる傾向がある。ふるまいを実装している最中に、何に命名をする必要があるかわからなくなることがある。アジャイルはリファクタリングしながら進むと効率的アジャイル開発では、すべてを最初から理解しようとせず、反復的にソフトウェアを「間違いながら」「設計しながら」作ることが許されており、そのほうがはるかに効率的。するためにはリファクタリングしながら進むのは必須で、そのためにはテストが常にサポートしてくれる環境が必要。学び記憶を定着させるには反復練習が必要。レガシーの匂いがするコードは対処を先延ばしにしないようにしないと、レガシーコードを作った本人がいなくなる可能性がある。レガシーコードが残ると拡張しづらいシステムになるので、レガシーコードはなるべくリアルタイムで修正する。レガシーコードを産まないようにするにはテスト駆動開発とペアプロすると、正しく進んでいくのがよいのではないか。現場にテスト駆動開発をシフトさせる。現場のリファクタリング計画のためにリファクタリング内容に紐づく修正ファイル対象の一覧を作る。案件があるときに、合わせて修正を検討する。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。