第8章 どうやって機能を追加すれば良いのでしょう
レガシーコードでもっとも考慮すべきことは、多くのコードにテストがないこと
他に、
- スプラウトさせたり、ラップしたりしている手法ではしばらくの間コードが改善されないこと
- 既に存在しているコードには大きな変更がないため
- 重複
- テストしていない範囲としている範囲が重複している場合、存在し続ける
- 恐れと諦め
- コードのある部分を変更しても扱いやすくできないという恐れ
- コード全体がよくならないという諦め
良い方法に進むための手法
- TDD
- みんなご存知
- 先にテスト書いていく手法
- 差分プログラミング
- 継承を使ってクラスを直接修正せずに新しい機能を取り入れる方法
- 素早い変更ができ、綺麗な設計にするためにテストを使うことができるが、LSP違反しないように注意しなければならない