Katas
Connecting Code Smells with Cohesion/Coupling
In the following table, we have grouped code smells in relation to coupling or cohesion excesses. Because cohesion and coupling are more abstract concepts, we can make use of code smells to help us detect imbalances.
For each row in the Degree column and in the Cohesion/Coupling column, highlight the correct concept and then add a reason in the reason column. After the table, we have listed several sample reasons to use. In some cases, both coupling and cohesion apply.
Figure 11.5: Connecting code smells with cohesion/coupling
Note
For answers, see the Appendices section on the page 388.
Some ideas for the Reason column
- The method is probably doing too much.
- The class is probably doing too much.
- A class knows too much about non-immediate neighbors.
- The class just delegates behavior and has no behavior or state.
- The class hierarchy is probably wrong.
- The class misses...