「8割の簡単な処理」と「2割の複雑な処理」への対処方針

例えば、アプリケーション全体の構成要素として、簡単な処理が占める割合が8割で、複雑な処理が占める割合を2割あったとします。この場合、次の1〜3のどの方針を採用するだろうか?

  • [方針1] 8割の簡単な処理にあわせる
    • 生産性重視。ただし、複雑な処理で品質を落としやすい。
  • [方針2] 2割の複雑な処理にあわせる
    • 品質重視。ただし、簡単な処理の生産性は落ちる。
  • [方針3] 両方の対処方法を用意して、使い分ける
    • 最適化重視。ただし、厳密な使い分けは難しい。

例えば、Strutsにおいて、見た目まわりの処理を実施する場合はこんな感じになります。

  • [方針1の実装例]
  • [方針2の実装例]
    • ロジックはコントローラ側で実施して、結果フラグ等をViewへ渡す。
    • View上では、結果フラグを使った分岐処理のみに留める。
  • [方針3の実装例]
    • 例えば、変数が2〜3個で処理できる簡単なロジックは方針1を採用して、それ以外は方針2を採用する。

それぞれの方針は一長一短なので正解は状況によって異なります。開発チーム内でこの方針のがズレていると、議論が空回りするので、最初にコンセンサスを取っておいたほうが良いですね。