arveltのソフトウェア技術メモ

Arvelt's software technology memo

「リファクタリング」にみるコードの不吉な匂い

以下は「リファクタリング」Martin Fowler、に出てくる コードの不吉な匂い である。これらを感じるコードは不具合の温床になりやすい、ということらしい。

これらを眺めてなぜいけないのか、どう修正したらいいか。時々思い出そうと思う、思い出せなかったら読み直すのだ。

 

  • 重複したコード
  • 長過ぎるメソッド
  • 巨大なクラス
  • 多すぎる引数
  • 変更の発散
  • 変更の分散
  • 属性操作の横断
  • データの群れ
  • 基本データ型への執着
  • パラレル継承
  • 怠け者クラス
  • 早すぎる一般化
  • 一時的プロパティ
  • メッセージの連鎖
  • 中間者
  • 仲が良すぎるクラス
  • 暮らすのインターフェース不一致
  • 未熟なクラスライブラリ
  • データクラス
  • 相続拒否
  • コメント

 

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

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