これ僕.com:行動分析学マニアがおくる行動戦略

意図と行動のギャップから生じる「不自由さ」への挑戦。果たして僕たちに自由はあるのか?

変更しづらい設計

ちなみに多分答えはいろいろあると思いますので、

私なりの答えを。

ポイントは2つ

1. オブジェクト指向を適用することで設計が複雑になる場合がある。
2. ソースを修正するものが必ずしもスキルがあるとは限らない。


修正が軽微ですむ設計にしても、設計自体が複雑になってきてしまうと

パッと身で全体像を理解しづらくなってしまう場合があります。

その場合に、スキルのある人が修正するのであれば設計をすぐ理解し

適切な修正が可能なのですが、もしスキルが無い人が修正したら

どうなるでしょう。

設計の理解に時間が掛かり、またどのクラスにどの処理を書くのが適切か

理解できずに設計者の意図しないコーディングが行われるかもしれません。

経験に基づいた答えですね。
なるほど。
確かにこういうケースは、結構見かけますね。
自分も「あれはやりすぎたな〜( ̄ー ̄)」という設計を
過去にやってきたこともありんす。

この場合、保守する人のレベルを、
どの辺に想定しておくのか、とても悩みます。
というか想定できない。
で、私が最近思うのは、

  • ソフトウェアの構造(アーキテクチャ)や処理のパターンを統一しておく
  • 「こういう処理なら、こうロジックを書くだろうな」と自然に思える設計にする/プログラムを書く
  • やっていることが想像できるような名前付け
  • DRY原則の遵守
  • 継承は極力避ける

です。
たぶん他にもあるんでしょうが、ぱっと思いつたものを挙げてみました。
一端を理解すれば、それと同じパターンで他も理解していける、
そんなのがいいなぁ、と。