設計の本質は 責任の分割 であり、 それを 構造で保証する ことが重要です。
これまで述べてきた 判断を構造で表現する ことで、それが実現できます。
では、実際の開発現場で、 私たちは、どのように設計と向き合うべきでしょうか。
設計は、未来への投資
設計は、未来のための行為です。
- 今すぐ動かすことが最優先の時もある
- その場で作るコードに価値がある
それでも、設計を全く無視すると、
- 判断が散らばり
- 責任が混ざり
- 境界が曖昧なコードが増え
結果として、未来の変更コストが爆発します。
設計とは、 将来の自分やチームを守る投資 だと理解しましょう。
まず小さく止めて、判断を構造に埋め込む
設計と向き合う第一歩は、
「まず止まること」 です。
- この変更はどこに影響するか
- ここでの判断はどこに置くべきか
- 責任は分かれているか
そして、それを コードの構造に落とし込む のです。
小さく止まることは、速さを失うことではありません。 むしろ、全体としての速さを保つための準備です。
状態・境界・判断を意識する
設計と向き合う際の基本は、次の3つです。
状態
- 状態を正確に表現する
- ありえない状態を作れないようにする
判断
- 「やってよい/いけない」を構造で表現する
- 型、API、オブジェクト生成条件、モジュール境界に集約する
境界
- 判断や責任を閉じ込め、影響範囲を限定する
- モジュール間、画面間、レイヤー間で明確にする
この3つは、別々の話ではなく、同じ設計の本質を違う角度で見たものです。
「速さ」と「設計」は両立できる
速さを求めながらも設計を無視しない方法があります。
- 小さな単位で止まる
- 判断を構造に埋め込む
- 境界を明確にする
- 状態を正しく管理する
このプロセスを繰り返すことで、コードは壊れにくく、かつ速く開発できるようになります。
この章のまとめ:設計との向き合い方
設計とは、単なる図や抽象化ではありません。
設計は、責任を分割し、構造に落とし込み、判断を閉じ込めること。
向き合い方のポイントは次の通りです。
止まる勇気を持つ
- 判断や責任が散らばる前に、構造に埋め込む
構造を信頼する
- 人に頼らず、構造が守る
未来の価値を意識する
- 今の速さよりも、将来の保守性と拡張性を優先
小さく繰り返す
- 状態・判断・境界を意識しながら、少しずつ改善
設計とは、人間のスキルや努力ではなく、 構造そのものが正しい判断を引き受けること です。
最後に
この本で伝えたかったことは、
- 設計は抽象的な美学ではなく、構造による保証のこと
- 判断を構造に集約することで、コードは壊れにくくなる
- 速さと設計は両立できる
です。
この考え方を理解すれば、
- あなたのコードはより安全で、
- 未来のチームはより速く、
- あなた自身もより少ない思考コストで開発できる
ようになります。
設計は怖いものでも、面倒なものでもありません。 正しく向き合うだけで、強力な味方になるものです。