welc-legacy-code
Installation
SKILL.md
Working Effectively with Legacy Code
"Legacy code is simply code without tests." - Michael Feathers
Get code under test before changing it. This is the core principle.
Quick Reference
| Symptom | Solution |
|---|---|
| Can't get class into test harness | Decision Tree: Can't Instantiate |
| Can't run method in test harness | Decision Tree: Can't Call Method |
| Don't know what tests to write | Characterization Tests |
| Under time pressure, need to change now | Sprout/Wrap Techniques |
| Need to change many classes in one area | Pinch Point Testing |
| Class is too big / monster method | Effect Sketching → find clusters |
| Afraid I'll break something | Single-Goal Editing, Preserve Signatures |