~/talk

Surgically Refactoring Ruby with Suture

Talkat RubyConf 2016 · 2016-11-10..11-12· [ruby, devops-and-delivery]
slides:none on file

Suture is a Ruby gem that makes refactors incremental and reversible: it records calls and replays them (SQLite + Marshal snapshots), verifies recordings as disposable characterization tests with Suture.verify, and lets new and old implementations run staging side-by-side comparisons or run both paths with dup and call_both. In production it logs mismatches and can fallback to the old code on error, then be removed once the refactor proves safe.

AI-written summary · about

  1. 0:00Start
  2. 2:38Welcome to
  3. 7:58Early success: Making it easy to make new things
  4. 9:09To change the design of code without changing its observable behavior.
  5. 9:34Legacy code has many definitions
  6. 9:48Legacy Code - noun Code we don't understand well enough to change confidently.
  7. 10:01Today, let's refactor some legacy code
  8. 14:11Feature #1 Erodes Technical Debt trust in the team
  9. 24:20Two Bug Fixes
  10. 25:18Calculator tally service doesn't handle odd numbers correctly.
  11. 32:42Trial #1 Characterization tests
  12. 35:51Write real unit tests
  13. 39:06What about Active Record?!
  14. 40:42Discoverable configuration
  15. 41:34Wait, why did verification fail?
  16. 42:41Another huge error message
~/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.