L3VLUP
Concepts

Complexity as cost of change

Complexity is what you must hold in your head to make a safe change. Deep modules with shallow interfaces reduce it.

1 idea that carry it

  • FrameworkSoftware engineeringBook

    Complexity is what you must hold in your head to make a safe change

    Judge a design by how much a reader must understand to change it safely, and prefer deep modules behind small interfaces.

    Code review, design discussions, and software engineering interviews that ask what good code is.

    From A Philosophy of Software Design · John Ousterhout