4. The Seam Model - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)

Working Effectively With Legacy Code の 4章 The Seam Model。
Seam とは日本語では継ぎ目、縫い目のこと。
The Seam Model の考え方を全く知らなかった。こういう視点でコードを眺めてテストを書くのはどんな世界なのだろう。早く実践しよう。

マインドマップから再構成したまとめ

  • Seam
    • Seam を使ってテストを書こうとすることで違う視点が得られる
    • その場所のコードを変更せずに振る舞いを変える
    • 依存を切りはなす enabling point
  • なぜ Seam
    • なぜ直接コードを書き換えないのか?
    • 把握できないようなごちゃごちゃしたコードに対する変更を最小にするため。
  • Seam の種類
    • オブジェクト Seam
      • これが一番良い。
    • リンク Seam
      • class path
      • 違うライブラリをリンク
    • プリプロセッシング Seam

SchemeSeam

  • オブジェクトシステムを使っているならオブジェクト Seam
  • マクロを利用しプリプロセッシング Seam
  • load path を利用しリンク Seam