Refactoring is a fundamental practice for an agile developer. Each refactoring is a small and isolated activity, but the value comes when you perform a sequence of refactorings to effect larger changes. This workshop will guide participants through hands-on exercises designed to teach three essential skills to become good at refactoring:
1. Identifying what needs refactoring: what makes code smell, confusing, or complex?
2. Identifying the end goal: what are the design options and which one will yield the best results?
3. Tracing a strategy to get the code from 1 to 2.