~/talk

Go Ahead, Make a Mess

Talkat Rocky Mountain Ruby 2012 · 2012-09-19..09-21· [software-architecture]
slides:none on file

Argues that messes are inevitable and shows concrete OOD fixes: a game’s Shock#cost starts as one ugly method, then a case statement for four shock types creates “meta knowledge” and new dependencies. Refactors extract each calculation into its own class, add a factory via constantize (or lookup) to map type→class, and apply replace conditionals with polymorphism. Result: cost logic becomes pluggable, each of the four costers changes independently, caller no longer needs edits when shock types are added or removed.

AI-written summary · about

  1. 0:00The sad app story
  2. 1:34When delight turns to despair
  3. 2:55Understanding the mess
  4. 4:25The concept of stability
  5. 5:52Designing for the future
  6. 7:13Example: The omega mess
  7. 8:55Visualizing dependencies
  8. 10:25Messages over code
  9. 12:05Mapping knowledge
  10. 14:20The cost of inaction
  11. 16:21Example: Meta knowledge
  12. 18:39Removing dependencies
  13. 21:30Composition over behavior
  14. 23:54Using factories
  15. 26:07The power of duck typing
  16. 29:08Lessons from experience
  17. 31:24Q&A and final thoughts
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.