Strategic Code Deletion
summary
Argues that unused code is measurable and removable using lightweight instrumentation and disciplined tests: uses SI probes (Ruby hooks) and production sampling, cites a game cleanup that yields 10,000 lines removed in a week, and mentions GPR, Jester/mutation testing and statd for tracking. Recommends characterization tests to lock current behavior before rewrites and a cloning and pruning workflow that runs old and new services in parallel, switching when results diverge; these approaches claim to work in practice.
AI-written summary · about
chapters (32)
- 0:00Intro
- 0:18How often should we delete code
- 1:37Why should we delete code
- 3:18Un unreachable and dead code
- 4:46Low value code
- 5:13How do we do it
- 6:24Code Coverage
- 7:11GPROP
- 7:37Snap Snapshot
- 8:09Mutation Testing
- 9:00Feature Probes
- 9:18Sieve
- 11:12Probe
- 11:57Strategy
- 13:02Systemic rewrite
- 14:15Characterization testing
- 14:51Taking a pig
- 15:30Process
- 15:57Test Name
- 16:48Test Place
- 18:14Unexpected
- 19:40What about this
- 21:10heuristics
- 21:21expressive names
- 22:19make the call on bugs
- 24:03let curiosity drive you
- 25:34call paths
- 26:02if conditions
- 27:00pipeline programming
- 28:57edgefree programming
- 29:18conclusion
- 32:50how to approach this
related talks
44mWe Hate Code: The !Joy of Maintaining Dead Code
37mWe Hate Code - The !joy of Maintaining Dead Code
32mKeeping your code strong
25mBest Practices for Writing Clean and Maintainable Codes
55mIdentifying Common Code Smells (In C++)
50mGuide Refactorings With Behavioral Code Analysis
01h 07mArchitect's Guide to Managing a Code Base
41mDomain Re discovery Patterns for Legacy Code
