Oh My Learning
Home
/
Software Engineering
/
A Philosophy of Software Design
A Philosophy of Software Design
11 lessons · 0/11 discussed · baseline
senior
01
Complexity Is the Enemy: Symptoms and Causes
8 min read
mid
drafted
02
Working Code Is Not Enough (Strategic vs Tactical)
7 min read
senior
drafted
03
Modules Should Be Deep
8 min read
senior
drafted
04
Information Hiding and Leakage
8 min read
senior
drafted
05
General-Purpose Modules Are Deeper
7 min read
senior
drafted
06
Pulling Complexity Downward
7 min read
senior
drafted
07
Different Layer, Different Abstraction
7 min read
senior
drafted
08
Define Errors (and Special Cases) Out of Existence
8 min read
senior
drafted
09
Comments Describe Things the Code Cannot
8 min read
mid
drafted
10
Choosing Names and Consistency
7 min read
mid
drafted
11
Design Tensions and When Principles Conflict
8 min read
senior
drafted