第6章 時間がないのに変更しなければなりません
既存クラスをテストで保護せずに変更を行う方法
- スプラウトメソッド
- システムに要件を追加する必要があり、全く新しいコードで実現できる場合には新しいメソッドとして記述する
- 呼び出し側のコードをテストで保護するのは難しいが、新しいコードに対してはテストをかける
- 一つの昨日としてコードを追加する場合や、メソッドのテストを整備していない場合に推奨
- スプラウトクラス
- 変更に必要な機能を別クラスとして切り出し、そのクラスを元のクラスから利用する
- ラップメソッド
- 元メソッドと同じ名前のメソッドを新しく作り、古いコードに処理を委譲する
- ラップクラス
- ラップメソッドをクラスレベルまで拡張したもの