かすてらすねお。

見聞録的ななにか。

『Clean Code』(2017)第8章「境界」を読んだ

第8章 境界

サマリー

  • (pp.165-166)
    • 境界とは、外部コードと内部コードが出会う場所のこと
    • サードパーティのコードは、自分たちのドメインに合わせてラップして使おう
  • (p.166-169)
    • 学習テストを書こう
      • サードパーティAPIを実際の使い方に近い形でテストする
      • バージョンアップ時の動作確認にも使える
  • (pp.169-170)
    • まだ存在しないAPIでも大丈夫
    • 理想的なインターフェースを先に定義してテストしよう

まとめ

  • 境界って何?
    • 「自分でコントロールできる部分」と「できない部分」の接点
    • この境界をうまく管理することで、システムを長く使える
  • 境界をコントロールすると何がいいの?
    • 既存のライブラリに対して:変更の影響を最小限に抑えられる
    • これから作るものに対して:理想的な形で開発を進められる
  • どうやって?
    1. ラッパーを作って「翻訳」する
    2. 理想的なインターフェースを先に決める
    3. 学習テストで境界を固める
  • 学習テストのいいところ
    1. APIの使い方を実行可能な形で残せる
    2. 外部とのやり取りの「あるべき姿」を示せる
    3. ライブラリの更新による影響がすぐわかる
  • 結論
    • 境界をうまく管理することで、システムを長く使える
    • 学習テストはその強い味方

感想