25. Dependency-Breaking Techniques - Definition Completion, Encapsulate Global References and Expose Static Method - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)
Working Effectively With Legacy Codeの 25章 Dependency-Breaking Techniques からテクニック3つ。
マインドマップから再構成したまとめ
3.Definition Completion
問題
- テスト時に特定のメソッドだけ振る舞いを変えたい
前提
- C/C++ のように実装と宣言でファイルが分かれていること
方法
- テスト用の実装を書きバイナリを分ける
欠点
- いろいろダブルメンテになる
4.Encapsulate Global References
問題
- グローバル変数があると Break Dependencies が難しい
方法
5.Expose Static Method
問題
- テストでインスタンス化するのが難しい
前提
- テスト対象メソッドがインスタンス変数使っていない
方法
- public static にする
- Preserve signature and Lean on Compiler
所感
- なし
リンク
一人読書会 - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)
Working Effectively With Legacy Code
posted with amazlet at 08.10.24
Michael C. Feathers
Prentice Hall
売り上げランキング: 4738
Prentice Hall
売り上げランキング: 4738
おすすめ度の平均:
設計が悪いシステムの保守でお悩みの方へ