Design & Quality
A domain covering how code is written and structured. It is not about language specifications, but about the decisions that come once you can already write code. Design tied to a specific framework or database lives in the Frontend and Backend domains instead.
Start with the Clean Code Guide to settle the everyday decisions, such as naming and how to split a function. From there your design options widen. SOLID Principles in Depth picks up where the Clean Code Guide leaves the definitions, and TypeScript Design Patterns assumes you have written classes and interfaces.
| Guide | What it covers | Who it's for |
|---|---|---|
| Clean Code Guide | Naming, comments, variables, functions, conditionals, class design, and the SOLID principles | Intermediate and up. Assumes TypeScript basics |
| SOLID Principles in Depth | Goes back to the original source for each of the five principles and how each is reassessed today | Intermediate and up. Assumes classes and interfaces, plus the SOLID definitions |
| TypeScript Design Patterns | Rereads the 23 GoF patterns, asking for each whether a language feature can replace it | Intermediate and up. Assumes TypeScript and OOP basics |