Notebook
Refactoring
Naming the smells that make code hard to change, one move at a time.
A refactoring is a behavior-preserving change. The code does the same thing afterwards as it did before — the reader is the one who benefits. Fowler catalogued the moves he had named, and the catalog has grown since. The point of the catalog is not to memorize the moves; it is to learn the smells that call for them.
This notebook works one technique per article through a real change in a real system. The examples come from Hansom.
Start at Introduce Parameter Object.