Refactoring gave a name and a discipline to something programmers already did badly: changing the shape of working code without changing what it does, in small steps that can each be checked. Fowler catalogued the moves and the smells that call for them. Patterns of…