Problems
Coupling
Bad Responsibilities Assignments
Bad Cohesion
Class Interfaces too Public
Maintainability
Extensibility
Solutions
Refactor
Merge
Replace Hierarchy With Delegation.
Sample Code
Wrong
Right
Detection
Some linters graph class relations and protocol dependency. Analyzing the collaboration graph we can infer rules and hints.
Tags
- Coupling
Conclusion
If two classes are too related and don't talk much to others we might need to split, merge or refactor them, Classes should know as little about each other as possible.
Relations
More info
Credits
Photo by Becca Tapert on Unsplash
No matter how slow you are writing clean code, you will always be slower if you make a mess.
Robert Martin
This article is part of the CodeSmell Series.