設計の本質は 責任の分割 であり、 それを 構造で保証する ことが重要です。

これまで述べてきた 判断を構造で表現する ことで、それが実現できます。

では、実際の開発現場で、 私たちは、どのように設計と向き合うべきでしょうか。


設計は、未来への投資

設計は、未来のための行為です。

  • 今すぐ動かすことが最優先の時もある
  • その場で作るコードに価値がある

それでも、設計を全く無視すると、

  • 判断が散らばり
  • 責任が混ざり
  • 境界が曖昧なコードが増え

結果として、未来の変更コストが爆発します。

設計とは、 将来の自分やチームを守る投資 だと理解しましょう。


まず小さく止めて、判断を構造に埋め込む

設計と向き合う第一歩は、

「まず止まること」 です。

  • この変更はどこに影響するか
  • ここでの判断はどこに置くべきか
  • 責任は分かれているか

そして、それを コードの構造に落とし込む のです。

小さく止まることは、速さを失うことではありません。 むしろ、全体としての速さを保つための準備です。


状態・境界・判断を意識する

設計と向き合う際の基本は、次の3つです。

  1. 状態

    • 状態を正確に表現する
    • ありえない状態を作れないようにする
  2. 判断

    • 「やってよい/いけない」を構造で表現する
    • 型、API、オブジェクト生成条件、モジュール境界に集約する
  3. 境界

    • 判断や責任を閉じ込め、影響範囲を限定する
    • モジュール間、画面間、レイヤー間で明確にする

この3つは、別々の話ではなく、同じ設計の本質を違う角度で見たものです。


「速さ」と「設計」は両立できる

速さを求めながらも設計を無視しない方法があります。

  • 小さな単位で止まる
  • 判断を構造に埋め込む
  • 境界を明確にする
  • 状態を正しく管理する

このプロセスを繰り返すことで、コードは壊れにくく、かつ速く開発できるようになります。


この章のまとめ:設計との向き合い方

設計とは、単なる図や抽象化ではありません。

設計は、責任を分割し、構造に落とし込み、判断を閉じ込めること。

向き合い方のポイントは次の通りです。

  1. 止まる勇気を持つ

    • 判断や責任が散らばる前に、構造に埋め込む
  2. 構造を信頼する

    • 人に頼らず、構造が守る
  3. 未来の価値を意識する

    • 今の速さよりも、将来の保守性と拡張性を優先
  4. 小さく繰り返す

    • 状態・判断・境界を意識しながら、少しずつ改善

設計とは、人間のスキルや努力ではなく、 構造そのものが正しい判断を引き受けること です。


最後に

この本で伝えたかったことは、

  • 設計は抽象的な美学ではなく、構造による保証のこと
  • 判断を構造に集約することで、コードは壊れにくくなる
  • 速さと設計は両立できる

です。

この考え方を理解すれば、

  • あなたのコードはより安全で、
  • 未来のチームはより速く、
  • あなた自身もより少ない思考コストで開発できる

ようになります。

設計は怖いものでも、面倒なものでもありません。 正しく向き合うだけで、強力な味方になるものです。