Modularity: Coupling and Cohesion
Cohesion and coupling: the two forces that decide whether a system stays changeable.
Every maintainable system wins the same two battles: keeping related things together and unrelated things apart. This topic defines cohesion and coupling precisely, shows how each degrades in real codebases, and ends with a worked exercise in drawing module boundaries you can justify.
