| Mysterious Name | Rename Function, Rename Variable, Rename Field, Change Function Declaration |
| Duplicated Code | Extract Function, Slide Statements, Pull Up Method |
| Long Function | Extract Function, Replace Temp with Query, Decompose Conditional, Replace Conditional with Polymorphism, Replace Loop with Pipeline |
| Long Parameter List | Replace Parameter with Query, Preserve Whole Object, Introduce Parameter Object, Remove Flag Argument, Combine Functions into Class |
| Global Data | Encapsulate Variable |
| Mutable Data | Encapsulate Variable, Split Variable, Slide Statements, Separate Query from Modifier, Remove Setting Method, Replace Derived Variable with Query |
| Divergent Change | Split Phase, Move Function, Extract Class |
| Shotgun Surgery | Move Function, Move Field, Combine Functions into Class, Combine Functions into Transform, Inline Function |
| Feature Envy | Move Function, Extract Function |
| Data Clumps | Introduce Parameter Object, Preserve Whole Object, Extract Class |
| Primitive Obsession | Replace Primitive with Object, Replace Type Code with Subclasses, Replace Conditional with Polymorphism, Extract Class, Introduce Parameter Object |
| Repeated Switches | Replace Conditional with Polymorphism |
| Loops | Replace Loop with Pipeline |
| Lazy Element | Inline Function, Inline Class, Collapse Hierarchy |
| Speculative Generality | Collapse Hierarchy, Inline Function, Inline Class, Change Function Declaration, Remove Dead Code |
| Temporary Field | Extract Class, Move Function, Introduce Special Case |
| Message Chains | Hide Delegate, Extract Function, Move Function |
| Middle Man | Remove Middle Man, Inline Function, Replace Superclass with Delegate, Replace Subclass with Delegate |
| Insider Trading | Move Function, Move Field, Hide Delegate, Replace Subclass with Delegate, Replace Superclass with Delegate |
| Large Class | Extract Class, Extract Superclass, Replace Type Code with Subclasses, Replace Conditional with Polymorphism |
| Alternative Classes with Different Interfaces | Change Function Declaration, Move Function, Extract Superclass |
| Data Class | Encapsulate Record, Remove Setting Method, Move Function, Extract Function, Split Phase |
| Refused Bequest | Push Down Method, Push Down Field, Replace Subclass with Delegate, Replace Superclass with Delegate |
| Comments | Extract Function, Change Function Declaration, Introduce Assertion |