The King's Museum

ソフトウェアエンジニアのブログ。

リファクタリング【第2版】- 第3章:コードの不吉な臭い

リファクタリングの第3章。

リファクタリングをいつするべきか、そのタイミングを明確にすることは難しい。 でも、筆者は経験を通してリファクタリングするべきコードの特徴(それを臭いと表現している)をリストアップしている。

  • 不思議な名前
  • 重複したコード
  • 長い関数
  • 長いパラメータリスト
  • グローバルなデータ
  • 変更可能なデータ
  • 変更の偏り
  • 変更の分散
  • 特性の横恋慕
  • データの群れ
  • 基本データ型への執着
  • 重複したスイッチ文
  • ループ
  • 怠け者の要素
  • 疑わしき一般化
  • 一時的属性
  • メッセージの連鎖
  • 仲介人
  • インサイダー取引
  • 巨大なクラス
  • クラスのインタフェース不一致
  • データクラス
  • 相続拒否
  • コメント

名前からすぐに分かる特徴もあれば、名前からでは何かよく分からない特徴もあるな・・・。

今まではリファクタリングする判断を経験と勘に頼っていたけど、こういうリストがあると判断に一貫性が生まれるし他人にも説明しやすくなっていいね。勉強になった。

(c) The King's Museum