CodeSmells
1. Mysterious Name - 不可思議な名前
2. Duplicated Code - 重複したコード
3. Long Function - 長い関数
4. Long Parameter List - 長いパラメーターリスト
5. Global Data - グローバルなデータ
6, Mutable Data - 変更可能なデータ
7, Divergent Change - 変更の偏り
8. Shotgun Surgery - 変更の分散
9. Feature Envy - 特性の横恋幕
10. Data Clumps - データの群れ
11. Primitive Obsession - 基本データ型への執着
12. Repeated Switches - 重複したスイッチ文
13. Loops - ループ
14. Lazy Element - 怠け者の要素
15. Speculative Generality - 疑わしき一般化
16. Temporary Field - 一時的属性
17. Message Chains - メッセージの連鎖
18. Middle Man - 仲介人
19. Inseider Trading - インサイダー取引
20. Large Class - 巨大なクラス
21. Alternative Classes with Different Interfaces - クラスのインターフェース不一致
22. Data Class - データクラス
23. Refused Bequest - 相続拒否
24. Comment - コメント
from リファクタリング第二版 - 既存のコードを安全に改善する