コンテンツにスキップ

第12部: 判断ガイド

このWikiの総仕上げ——「いつ・何を根拠に選ぶか」の判断フロー集です。Yes/Noの二分ではなく、判断材料・例外・トレードオフを明示します。迷ったときに開く逆引きの章です。

ページ一覧

ページ 扱う判断
クラスを分けるべきか 分割の基準と、分割しすぎの見分け方
インターフェースを作るべきか 抽象を挟む価値の判定
継承かコンポジションか is-a検証と実務フロー
抽象化すべきか・デザインパターンを使うべきか 「3回ルール」と破綻シグナル
イベント・依存性注入・Singleton の判断 通知と依存配りの選択
C++の選択(テンプレートか仮想関数か/値渡しか参照渡しか/unique_ptrかshared_ptrか/配列かvectorか/構造体かクラスか) C++固有の5大選択
最適化すべきか・リファクタリングすべきか 投資判断としての改善

仕上げに 演習

全判断に共通する3原則

  1. 可逆性で仕分ける: 後から安く変えられる決定は素朴に倒す(YAGNI)。変えるのが高い決定(セーブ形式、公開API、データレイアウト)だけ先に考える
  2. 証拠を要求する: 「いつか必要かも」ではなく「既に2回起きた」「計測で出た」を根拠にする
  3. 選ばなかった案を書き残す: 判断はチームの共有財産。「なぜswitchのままにしたか」の一行コメントが将来の再判断を安くする

全体目次 | 次: クラスを分けるべきか