代碼的壞味道
- Duplicated Code
- 同一個類的兩個函數含有相同表達式
- 兩個互為兄弟的子類內含有相同表達式
- 兩個毫不相關的類出現Duplicated Code
- Long Method
- Large Class
- Long Parmeter List
- Divergent Change(發散式變化)
- Shotgun Surgery(霞彈式修改)
- Feature Envy(依戀情結)
- Data Clumps(數據泥團)
- Primitive Obsession(基本類型偏執)
- Switch Statements
- Parallel Inheritance Hierarchies(平行繼承體系)
- Lazy Class
- Speculative Generality(夸夸其談未來性)
- Temporary Field(令人迷惑的暫時字段)
- Message Chains(過渡耦合的消息鏈)
- Middle Man(中間人)
- Inapproprtate Intimacy
- Alternative Classes with Different Interfaces(異曲同工的類)
- Incomplete Library Class( 不完美的庫類)
- Data Class
- Refused Bequest
- Comments(過多的注釋)