『リファクタリング』第3章 コードの不吉な臭い

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

  1. 重複したコード
  2. 長すぎるメソッド
  3. 巨大なクラス
  4. 長すぎるパラメータリスト
  5. 変更の偏り
  6. 変更の分散
  7. 特性の横恋慕:あるメソッドが、自分のクラスよりも他のクラスもつ場合
  8. データの群れ
  9. 基本データ型への執着
  10. スイッチ文
  11. パラレル継承:新たなサブクラスを定義するたびに、別の継承ツリーにもサブクラスを定義しなければならない状況
  12. 怠け者クラス:役に立たないクラスは取り除く
  13. 疑わしき一般化:YAGNI(You Ain’t Gonna Need It)
  14. 一時的属性:インスタンス変数の値が、特定の状況でしか設定されないオブジェクト
  15. メッセージの連鎖
  16. 仲買人:委譲のやりすぎ
  17. 不適切な関係:クラス同士の関係が密接過ぎる場合
  18. クラスのインタフェース不一致
  19. 未熟なクラスライブラリ
  20. データクラス:属性と get および set メソッド以外には何も持たないクラス
  21. 相続拒否:サブクラスが親の属性と操作を必要としない場合
  22. コメント:コメントは不吉な臭いの予兆

これらそれぞれの「不吉な臭い」に関して、それぞれに対処法が書いてあるのだけど、それぞれの対処法についての詳細はまだよく分かっていない(というかこの章の時点では説明されていない)。要再読。

コメントを残す