コードの臭い
リファクタリングが必要な兆候
不可思議な名前
重複したコード
同一あるいは同様のコードが複数箇所に存在。
長い関数
長すぎるメソッド
メソッド、関数、手続きが長くなりすぎている。
巨大なクラス
大きくなりすぎたクラス。神オブジェクトを参照。
多すぎる引数
グローバルなデータ
変更可能なデータ
変更の発散
変更の分散
機能の横恋慕
他クラスのメソッドを過度に用いるクラス。
データの群れ
基本データ型への執着
重複したスイッチ文
ループ - コードの臭い:ループ
パラレル継承
不適切な関係
他のクラスの実装の詳細に依存しているクラス。
相続拒否
基底クラスの規約が尊重されない形でのメソッドオーバーライド。リスコフの置換原則参照。
怠け者の要素
怠け者クラス
行うことが少なすぎるクラス。
疑わしき一般化
一時的属性
メッセージの連鎖
仲介人
インサイダー取引 - コードの臭い:インサイダー取引
クラスのインターフェース不一致
未熟なクラスライブラリ
データクラス - コードの臭い:データクラス
重複メソッド
同一あるいは同様のメソッドが複数箇所に存在。
不自然な複雑さ
簡潔な設計で十分なところに、過剰に複雑なデザインパターンの使用を強制する。
コメント
コメントは多いが、よい説明になっていない
code smell
コードの不吉な臭い
コードスメル
不吉な匂い
アンチパターン
Don't repeat yourself
クソコード
リファクタリング
iki-iki - /iki-iki/コードの臭い
nobuoka-pub - /nobuoka-pub/コードの臭い
コードの臭い - Wikipedia