~/talk

Keynote: Refactoring Humpty Dumpty back together again

Talkat RedDotRubyConf 2017 · 2017-06-22..06-23· [software-architecture]
github:estolfo
slides:none on file

Explains how a decade‑old MongoDB Ruby stack gets repaired by studying the code, adding tests and benchmarks, and refactoring one bloated metadata object into reference and embedded namespaces that encapsulate behavior. Work brings driver and query DSL back into the repo, creates a new 2.0 driver, and closes ~40 issues (about 50% of 199). Uses JIRA/GitHub triage, pry for tracing, and benchmarking; adds ~1000 tests so test time grows but runtime performance slightly improves and maintenance becomes easier — project is restored and healthier.

AI-written summary · about

  1. 0:00Intro
  2. 4:19Humpty Dumpty Poem (v2)
  3. 4:42"Humpty Dumpty" ?
  4. 5:44Tortoise Seige Engine
  5. 6:412nd Law of Thermodynamics
  6. 10:41Modeling the Cathedral
  7. 12:47Beauvais Cathedral supports
  8. 16:27Mongoid history
  9. 20:17Current Mongoid
  10. 20:50199 issues
  11. 21:44Restoring Mongoid
  12. 24:59Mongoid structural analysis
  13. 29:55Mongoid relation types
  14. 30:35Metadata instance method
  15. 35:44Refactoring Healthy Habits
  16. 36:01Refactor one piece at a time
  17. 37:42Use existing tests at every step
  18. 38:29Don't fix bugs
  19. 41:04Responsible maintenance
  20. 44:15Measuring Entropy
~/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.