
TL;DR
This paper challenges the traditional view that high cohesion and low coupling are always desirable in software design, arguing that their relationship is complex and context-dependent.
Contribution
It offers a nuanced perspective on cohesion and coupling, emphasizing their interconnectedness and the importance of considering costs in software design decisions.
Findings
High cohesion does not always imply better design.
Cohesion and coupling are fundamentally related principles.
Overemphasis on cohesion can be harmful.
Abstract
Good software has high cohesion and low coupling is clumsy, obscure, and in some certain cases could be actually a harmful state of being. It is clumsy because there is no perfect correlation between higher cohesiveness and optimum design, and it is obscure because it conveys the message that coupling and cohesion are two distinct design principles, while there are in principle the same design approaches, and only the time and space differ between them, and it could also be a harmful state of being because we should not always aim for higher cohesiveness without considering its cost. In the course of this study, we aim to elucidate for the readers the meaning and underlying philosophy of the aforementioned paragraph.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDigital Games and Media · Big Data and Business Intelligence
