1 / 5
A function that does too much and spans hundreds of lines is a ___ smell.
-
-
-
-
The long method smell is usually fixed by Extract Method, splitting it into smaller, well-named functions.
2 / 5
A method that uses another class's data more than its own exhibits ___.
-
-
-
-
Feature envy suggests the logic belongs in the other class; Move Method relocates it to where the data lives.
3 / 5
When one small change forces edits across many classes, that's ___.
-
-
-
-
Shotgun surgery means a concern is scattered; consolidating it (Move/Inline) so changes happen in one place addresses the smell.
4 / 5
Using a raw string or int where a small dedicated type would be clearer is ___.
-
-
-
-
Primitive obsession is fixed by introducing a value object (e.g. a Money type) that carries meaning and validation.
5 / 5
Repeated identical blocks of logic are the ___ smell.
-
-
-
-
Duplicated code is resolved by Extract Method/Function so the logic lives once and changes propagate everywhere automatically.