Code Smells
This is a collection of descriptions of Code Smells intended as a reference to use during learning hours and other technical coaching activities. Although these descriptions are original and authored specifically for this site, many of the names are taken from Martin Fowler’s book “Refactoring” 2nd Edition.
You can read more about code smells in general in Martin Fowler’s article Code Smells and on Wikipedia.
- Alternative Classes with Different Interfaces
- Bumpy Road
- Comments
- Data Class
- Data Clumps
- Deep Nesting
- Divergent Change
- Duplicated Code
- Feature Envy
- Global Data
- Insider Trading
- Large Class
- Lazy Element
- Long Function
- Long Parameter List
- Loops
- Message Chains
- Middle Man
- Mutable Data
- Mysterious Name
- Paragraph of Code
- Primitive Obsession
- Refused Bequest
- Repeated Switches
- Shotgun Surgery
- Speculative Generality
- Temporary Field
- Variable with Long Scope