This is a Legacy Code Kata demonstrating Refactoring Like a Compiler
- Start with the example in
de.andrena.refactoringlikecompilers - Transform it to static single assignment form (in short: ensure that each variable is assigned at mostly once) -
de.andrena.refactoringlikecompilers.ssa - Simplify the code and build an enum from
gender-de.andrena.refactoringlikecompilers.toobjects1 - Build an object from
name-de.andrena.refactoringlikecompilers.toobjects2
This example was exercised at XP-Days 2018. You can find some hints in the attached presentation.