Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

リファクタリング-プログラマーの体質改善テクニック|コードの不吉な臭い

内容

リファクタリングが必要となるコードの不吉な臭いには以下のものがある。
※詳細は個別のリンク先に記載

臭いの名称 臭いの詳細
重複したメソッド 内容が重複したメソッド複数の箇所に存在すること
長すぎるメソッド メソッドが長すぎること
巨大なクラス クラスが巨大すぎること
多すぎる引数 引数が多すぎること
変更の発散 一つのクラスの変更が異なる理由で発生すること
変更の分散 一つの変更が複数のクラスに分かれていること
属性操作の横恋慕 Feature Envy 他クラスのメソッドばかりを利用しているクラス
データの群れ 複数のデータが複数の箇所に現れること
基本データの執着 基本データ型に固執している箇所があること
スイッチ文 スイッチ文があること
パラレル縦断 あるサブクラスを作ると別のサブクラスも作る必要があること
怠け者クラス 実は使われていないクラスや、改修により使われなくなったクラス
疑わしき一般化 予想で実装された付加的機能。YAGNIに反すること
一時的属性 変数の値が特定の状況でしか設定されないこと
メッセージの連鎖 メッセージの過剰な連鎖があること
仲介人 メソッドの大半が別のオブジェクトの委譲である場合など
不適切な関係 密接すぎるクラス
インターフェースの不一致 同じ処理をしているがシグネチャがことなる
未熟なクラスライブラリ ライブラリに不備があること
データクラス getter、setterのみを持つようなクラス
相続拒否 継承で利用している属性・操作が一部だけの場合
コメント コメントが多すぎる状態