202204272308 Modules should be highly cohesive
The code in a module should all serve some purpose for the module. All the code should also be required to work together properly to achieve that purpose. This is another way to say that we shouldn't have extraneous code nor differing objectives in the same place. This relates to the 202204291512 Single responsibility principle of the 202204272244 SOLID design principles. It also serves a similar purpose as the 202204291514 Interface segregation principle. All of this also helps to 202312091440 Eliminate effects between unrelated things.
Links to this note
- 202109061338 Software Engineering
- 202204272307 Code that changes together should live together
- 202402201204 Resilient, self-organizing systems will generate hierarchies
- 202406271256 Essential XP Emergent Design
Linked from this note