コードの臭い
同一あるいは同様のコードが複数箇所に存在。
メソッド、関数、手続きが長くなりすぎている。
大きくなりすぎたクラス。神オブジェクトを参照。
他クラスのメソッドを過度に用いるクラス。
基本データ型への執着
switch文
他のクラスの実装の詳細に依存しているクラス。
基底クラスの規約が尊重されない形でのメソッドオーバーライド。リスコフの置換原則参照。
行うことが少なすぎるクラス。
疑わしき一般化
一時的属性
クラスのインターフェイス不一致
未熟なクラスライブラリ
同一あるいは同様のメソッドが複数箇所に存在。
簡潔な設計で十分なところに、過剰に複雑なデザインパターンの使用を強制する。
コメントは多いが、よい説明になっていない
不吉な匂い