A Philosophy Of Software Design Flashcards
1
Q
Two causes of complexity
| software
A
Dependencies
Obscurities
2
Q
Three symptoms of complexity
| software
A
Change amplification
High cognitive load
Unknown unknowns
3
Q
working code isnβt good enough
Two programming styles
A
Strategic vs tactical programming
4
Q
software philosophy
How to make modules deep?
A
Simple interface for common use cases
Provides significant functionality