Go Ahead, Make a Mess
summary
Claim: software messes are inevitable but object‑oriented design can make them manageable. Demonstrates three examples: a 100‑line ugly cost method (an omega mess), a case statement that explodes into four shock calculations (forcing ~50 changes in a story), and a refactor that extracts each calculation into its own class and replaces the case with a convention-based factory (using Ruby constantize). Teaches meta knowledge mapping and the rule send a message rather than implement behavior; result: dependencies vanish and adding new shocks no longer breaks the core.
AI-written summary · about
chapters (13)
- 0:00Intro
- 1:07Go Ahead Make a Mess
- 1:43Life Cycle of a Rails Project
- 6:14Stability
- 10:30Omega Mess End of the Line No Dependencies
- 14:56It's not about the code
- 18:53What is the future cost of doing nothing
- 25:50Preference Send a message
- 29:02Meta Knowledge Shock knows
- 32:57Composition
- 33:41The Role
- 34:15Reprise Find the message (Create the object) Send the message
- 38:49Questions?
related talks
38mGo Ahead, Make a Mess
52mChaos Development: Removing software as the inhibitor of Agile
06mØ
50mSoftware Is Details
01h 01mSoftware Design: Myths and Legends
01mSoftware doesn't tolerate ambiguity
25mOOPs!... I Did it Again: When Good Objects Go Toxic
52mBreaking Bad Code: From simple problems to complicated solutions and back
