Refactoring With Science
summary
Claims that production-safe refactoring is possible by running parallel code paths and measuring differences, using the Science gem to run control vs candidate blocks, publishing mismatches and performance to graphite and janky and viewing accuracy over time in a staff UI. Instrumentation includes backscatter tracing (sampled as low as 1 in 1000 calls) and ramped experiments (often 1 in 10 sampling), branch-by-branch deploy labs, and a mad_science toggle that can flip to the candidate — metrics show green/red accuracy and timing so decisions rest on numbers not promises.
AI-written summary · about
chapters (21)
- 0:00Start
- 0:27Hello, my name is Wynn.
- 1:23How do we gain CONFIDENCE?
- 2:01Use data to inform decisions.
- 3:27The Graph Store M
- 3:44Built on Graphite.
- 8:08The GitHub Flow
- 9:14Or deploy and merge.
- 11:24Get up to date with master.
- 15:11Problem? ABORT.
- 17:19Find and remove vestigial code
- 17:31GitHub::Backscatter
- 19:06Experiment with confidence.
- 20:06github/dat-science
- 21:08Safely observe alternate code paths.
- 21:58Create and run.
- 22:43Ramping up experiments.
- 23:28jnunemaker/flipper
- 25:17Adding custom context
- 26:23Analyzing results.
- 26:41github/dat-analysis
related talks
34mData-Driven Refactoring
35mQuickly and Safely Refactoring Legacy Code
48mRefactoring from Good to Great - A Live-Coding Odyssey
45mPanel Discussion Refactoring
43mDebug Like a Scientist!
01h 00mContinuous Regression Testing for Safer and Faster Refactoring in C++
35mThe Science of Success
40mTesting Legacy Code: Safe Refactoring
