Object-Oriented Design (OOD)
This is Foundational Knowledge to become a 10x Developer. Learned in CS247.
Realize that Everything is a Tradeoff, and you need to which tradeoffs are more worth it.
Measures of Design Quality
The fundamental question is: how can we evaluate the quality of our code - what is good, what is bad, when we’re not just following a particular Design Pattern?
Before CS247, I just went by feeling. Occasionally, learn things like Clean Code, but this stuff is much higher level. And there are actually a couple of ways:
- code smells - refactoring
- Coupling and Cohesion
- SOLID Design Principles
Characteristics of great design:
The book Clean Architecture also seems to have some really promising code.