9. I Can't Get This Class into a Test Harness - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)
Working Effectively With Legacy Code の 9章 I Can't Get This Class into a Test Harness。
マインドマップから再構成したまとめ
Test Harness でクラスを使えない
- いらいらパラメータ
- コンストラクタに引数を渡さないといけない
- Extract interface
- Pass null
- 隠れた依存
- コンストラクタでメール関連の処理
- コンストラクタにパラメータ追加して外から渡そう
- コンストラクタでメール関連の処理
- コンストラクタに引数を渡さないといけない
- でかいコンストラクタ
- でかいコンストラクタでオブジェクトを作り、さらにそれを元にオブジェクトを作っている
- パラメータ追加ではできないのでセッタを作ってあとから変更
- でかいコンストラクタでオブジェクトを作り、さらにそれを元にオブジェクトを作っている
- いらいらグローバル依存
- あれ?いつの間にかシングルトンの話に。
- テストの時はシングルトンの中身を変えられるように
- Include 依存
- テスト用の実体をリンクする
- これよく分からなかった。
所感
この章はとても長かった。
消化不良感が否めない。特定のテクニックが後方参照しすぎているからかな。
自分のモチベーションの低下とかが原因だったらいやだなあ。