Chapter 11. Accommodating Change
Some problems become most apparent when you try to change your code. (Most of the other smells we've discussed can be detected by looking at the code statically.)
Ideally, one changed decision affects only one place in the code. When it doesn't work out that way, it's a sign of duplication in the code.
Addressing these smells often has a side benefit: Many times it makes the code easier to test.
Smells Covered
Divergent Change
Shotgun Surgery
Parallel Inheritance Hierarchies
Combinatorial Explosion
Divergent Change
Symptoms
You find yourself changing the same class for different reasons. (For contrast, see Shotgun Surgery, the next smell we look at.)
Causes
The class picks up more responsibilities as it evolves, with no one ...
Get Refactoring Workbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.