Legacy Code 21.10.2016
the list of refactoring technics is just the beginning
composing methods (extract method, replace method with object)
moving features (move method, extract class)
organizing data (replace hash with object, replace type code with polymorphism)
simplifying conditional (decompose, recompose, null objects)
making method calls simpler (separate query from modifier, replace constructor with factory)
dealing with generalization (template method, extract module, inheritance)
learn when to start, when to stop
when you have “refactoring tickets” you're doing it wrong (it’s part of your work!)
not having the time for refactoring (because of deadlines?) is usually a sign that
you need to do some refactoring
Refactoring: pay your bills!