Code Smells
Smells are indicators of where your code might be hard to read, maintain or evolve, rather than things that are specifically wrong. Naturally this means that Reek is looking towards your code’s future (and that can make its reports seem somewhat subjective, of course).
Reek currently includes very naive checks for the following smells:
- Attribute (since release 1.2.2; disabled by default)
- Class Variable (since release 1.2.1)
- Control Couple, including
- Boolean Parameter (since release 1.2.7)
- Data Clump (since release 1.1.3.15)
- Duplication
- Irresponsible Module (since release 1.2.7)
- Large Class
- Long Method
- Long Parameter List
- Low Cohesion (since release 1.2.7), including
- Nested Iterators
- Simulated Polymorphism (since release 1.1.3.14)
- Uncommunicative Name, including
- Uncommunicative Method Name (since release 1.2.7)
- Uncommunicative Module Name (since release 1.2.7)
- Uncommunicative Parameter Name (since release 1.2.7)
- Uncommunicative Variable Name (since release 1.2.7)
