Avoiding code spaghetti by making ravioli
summary
Argues that the codebase must be structured so pieces are safe to remove: optimize for deletion. Demonstrates concrete rewrites (React examples) that separate IO from computation, turns a messy component into a pure view plus an IO edge, and uses bottom‑up domain typing and proximity‑first modules with explicit module APIs. Shows how structural typing (TypeScript) and naming choices reduce greedy models, enable unit tests, and make code deletable and evolvable over time.
AI-written summary · about
chapters (9)
- 0:00Ravioli code structure
- 3:19Optimize for deletion
- 10:07Pure functions and single responsibility
- 17:00Code proximity and module design
- 21:14Domain modeling and bounded contexts
- 24:09Isolating complexity in components
- 31:40Avoid premature abstraction
- 33:24Team principles and future-proofing
- 34:06Summary and call to action
related talks
28mVerbosity, Maybe the Key to Better Code
39mClean, Concise, Collaborative Code
31mThe Importance of Clean Code
34mNot Your Uncle’s Clean Code (TypeScript Edition)
53mIntentional Code - Minimalism in a World of Dogmatic Design
58mIntentional Code - Minimalism in a World of Dogmatic Design
17mReady for Readable Code?
01h 01mDesign Principles for Better FrontEnd Code
