TPOP principle 4.5 コードの臭い

第4章 視点

principle 4.5 コードの臭い Bad smell in code.

言葉の復習

  • 設計とは何か。
    • principle 1.2 コードは設計書
    • 「基本設計」「詳細設計」「プログラミング」「テスト」「デバッグ」全てを「設計」と呼び、「コード」は設計書、「リリースビルド」が製造である。

臭いの傾向

よく見る
  • 状態
    • そっくりのコードがあちこちに存在する
  • 改善策
    • 重複したコードを一つにまとめる
長過ぎる
  • 状態
    • 「この関数でやっていることはAである」と一言で言えない
  • 改善策
    • 関数を分割して、関数の責務を一言で表現できるようにする
大きすぎる
  • 状態
    • モジュールの責務が大きい
    • モジュールの修正の機会が多い
    • 時間経過に連れ、モジュールの規模が増加し続ける
  • 改善策
    • 分割して、モジュールの責務を一言で表現できるようにする
多すぎる
  • 状態
    • モジュールの数が多すぎて、依存関係、処理の流れを追うことが出来ない
  • 改善策
    • 仲介役の削除、統廃合によりモジュールの数を減らす
名前が合わない
  • 状態
    • 名前と実際のコードの内容が合わない
  • 改善策
    • 表現したい概念と合っていなければ、直ちに適切な名前に修正する
    • 以前正しかった名前でも、改修によって正しくなくなることがあるので、その時点で名前も修正する