ここまでの章で、設計とは「判断をどこに閉じ込めるか」であり、 そして判断は必ず変わる、という前提に立つ必要があることを見てきました。

では、次の問いに進みます。

なぜ、現場では壊れやすい設計が繰り返し生まれてしまうのでしょうか。

この章では、技術力不足や経験不足といった分かりやすい理由ではなく、 設計者が無意識に選んでしまう判断の置き方 に注目します。

これは誰かを責める章ではありません。 むしろ、自分自身が何度も陥ってきたパターンを言語化する章です。


壊れやすさは、構造ではなく判断の偏りから生まれる

壊れやすい設計を見ると、つい構造に目が向きがちです。

  • クラスが大きすぎる
  • 責務が多すぎる
  • 共通化しすぎている

しかし、これらはすべて「結果」にすぎません。

その前段には必ず、

  • どの判断を重要だと見なしたか
  • どの判断を軽視したか
  • どの判断を将来に押し付けたか

という偏りがあります。

壊れやすい設計とは、 一部の判断だけを過度に優先した設計 だと言い換えることができます。


典型的な三つの偏り

壊れやすい設計に共通する判断の偏りは、いくつかの型に分けられます。 ここでは特に遭遇頻度の高い三つを取り上げます。


「今きれいであること」を優先しすぎる

最もよくあるのが、この偏りです。

  • 重複は悪だ
  • 抽象化は善だ
  • 共通化すれば美しい

こうした価値観自体は間違っていません。 問題は、将来の判断の変化よりも、現在の見た目の整合性を優先してしまう ことです。

結果として、

  • まだ揃っていないものを無理に揃える
  • 違いが見えていない段階で共通化する
  • 変更理由の異なる処理を一箇所に集める

といった構造が生まれます。

これは「きれいに設計したつもり」で壊れやすくする、典型例です。


「将来どうせ変わる」を理由に判断を放棄する

逆方向の偏りも存在します。

  • どうせ仕様は変わる
  • 先のことは分からない
  • 今はとりあえず動けばいい

この考え方が行き過ぎると、 判断そのものを行わない設計 になります。

  • 境界を引かない
  • 責務を定義しない
  • 型や制約を置かない

結果として、 変更が起きた瞬間に「全部を考え直す」必要が出てきます。

「将来に備えない」のではなく、 将来に備えるための最小限の判断すら閉じ込めていない 状態です。


「自分が分かっている」前提で判断を外に漏らす

三つ目は、設計者本人には気づきにくい偏りです。

  • これは普通こうだよね
  • このクラスはそういう前提だから
  • 使う側が気をつければいい

こうした前提は、コードの外に存在します。

つまり、

  • 型で表現されない
  • 境界として切り出されない
  • 名前にも表れない

判断です。

この状態では、 設計は設計者の頭の中にしか存在しません

人が変わった瞬間、 あるいは時間が経った瞬間に、 設計は事実上失われます。


健全な設計は、偏りを自覚して選び直すことから始まる

ここまで挙げた三つの偏りは、 どれか一つが絶対に悪いというものではありません。

  • 今を優先する判断が必要な場面もある
  • 将来を見ない決断が合理的なこともある
  • 暗黙知で進めた方が速い局面もある

問題は、 その偏りを自覚しないまま固定化してしまうこと です。

設計とは、 毎回バランスを取り直す行為です。

  • 今と将来
  • 明示と暗黙
  • 柔軟性と制約

これらの間で、 「今回はどこに判断を置くか」を選び続けることが設計です。


壊れやすさに気づける設計者になる

壊れやすい設計を完全に避けることはできません。

しかし、

  • なぜ今この設計が壊れやすいのか
  • どの判断が偏っているのか
  • 次に変わるとしたらどこか

を説明できる設計者になることはできます。

その時点で、 設計は「失敗」ではなく「途中経過」になります。

次の章では、 こうした壊れやすさとどう付き合い、 どう回収していくかについて掘り下げていきます。

ここから先は、 設計を壊す話 です。