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:

Characteristics of great design:

The book Clean Architecture also seems to have some really promising code.