I read MartinFowler's article (see ReFactor) where he gives an example of how refactoring works in practice. That made me wonder whether there are patterns here. I've attempted to write a couple of them down, almost all of them shamelessly stolen from Martin's article. Feel free to comment and edit for clarity or brevity. --MarnixKlooster
First there some patterns about refactoring in general:
- BacktrackIfRefactoringFails
- TheFirstRefactoringStep
- RefactoringInVerySmallSteps
- TestEveryRefactoring
- RefactoringInDuets
- RefactoringUsingTools
- RefactoringHat
(Some of these patterns were created by SantiagoValdarrama who used the reduced pattern version to create a complete version using a pattern template. Also, he created some of them from the ground up.)
And there are also specific techniques that one can use:
Here http://www.refactoring.com/catalog/index.html is a list that is a bit longer...
You really must read MartinFowler's RefactoringImprovingTheDesignOfExistingCode.
See AboutRefactoringPatterns, RefactoringToPatterns.