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
問題

方法

  1. グローバル変数見つける
  2. クラス作る
  3. クラスにグローバル変数コピー
  4. オリジナルのグローバル変数コピー
  5. グローバルインスタンス作成
  6. Lean on Compiler


5.Expose Static Method
問題

前提

方法

  • public static にする
  • Preserve signature and Lean on Compiler

所感

  • なし

リンク

一人読書会 - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)


Working Effectively With Legacy Code
Michael C. Feathers
Prentice Hall
売り上げランキング: 4738
おすすめ度の平均: 5.0
5 設計が悪いシステムの保守でお悩みの方へ