Hasen

Complexity Containment

Attempting to hide complexity is futile. Instead, complexity should be contained with a reasonably sized module: not too big and not too small.

When a system is composed of a 20 modules is a lot easier to understand than a system composed of 500 modules.

It's fine for some of these modules to be complex on the inside.

If you break these complex modules down "to make it simpler", your system of 20 modules will degenerate into an incomprehensible 500 modules system.

Complexity should be contained and should not be allowed to "leak" into the environment.