Cover of A Philosophy of Software Design

A Philosophy of Software Design

by John Ousterhout

Published 2018·178 pages
SoftwareDevelopment
Find on Goodreads →

Who Should Read This

Senior engineers and tech leads who want to write simpler, more readable code. Anyone frustrated by unnecessary complexity in codebases they work with.

What's Inside

1. The Nature of Complexity

2. Working Code Isn't Enough

3. Modules Should Be Deep

4. Information Hiding (and Leakage)

5. General-Purpose Modules Are Deeper

6. Different Layer, Different Abstraction

7. Pull Complexity Downwards

8. Better Together or Better Apart?

9. Define Errors Out of Existence

10. Design It Twice

Share: