- Unnecessary comments
- Long method
- Long parameter list
- Duplicated code
- Conditional complexity
- Combinatorial explosion
- Large class
- Type embedded in name
- Uncommunicative name
- Inconsistent names
- Dead dode
- Speculative generality
- Oddball solution
- Temporary field
- Alternative classes with different interfaces
- Primitive obsession
- Data class
- Data clumps
- Refused bequest
- Inappropriate intimacy
- Indecent exposure
- Feature envy
- Lazy class
- Message chains
- Middle man
- Divergent change
- Shotgun surgery
- Parallel inheritance strategies
- Incomplete library class
- Solution sprawl
Source: Smells to Refactorings Quick Reference Guide
Select the piece of code you wish to refactor and then choose the desired action from the Refactor
menu.