Sean Chambers over at lost techies.com just completed a series of blog post that' I’ve been following pretty close, since they are so useful and most of them are easy to implement its definitely a good refresh and hope to keep all of them in my mind and you should too,
Here is a list the 31 refactoring techniques:
from: 31 Days of Refactoring
- Refactoring Day 1 : Encapsulate Collection
- Refactoring Day 2 : Move Method
- Refactoring Day 3 : Pull Up Method
- Refactoring Day 4 : Push Down Method
- Refactoring Day 5 : Pull Up Field
- Refactoring Day 6 : Push Down Field
- Refactoring Day 7 : Rename (method, class, parameter)
- Refactoring Day 8 : Replace Inheritance with Delegation
- Refactoring Day 9 : Extract Interface
- Refactoring Day 10 : Extract Method
- Refactoring Day 11 : Switch to Strategy
- Refactoring Day 12 : Break Dependencies
- Refactoring Day 13 : Extract Method Object
- Refactoring Day 14 : Break Responsibilities
- Refactoring Day 15 : Remove Duplication
- Refactoring Day 16 : Encapsulate Conditional
- Refactoring Day 17 : Extract Superclass
- Refactoring Day 18 : Replace exception with conditional
- Refactoring Day 19 : Extract Factory Class
- Refactoring Day 20 : Extract Subclass
- Refactoring Day 21 : Collapse Hierarchy
- Refactoring Day 22 : Break Method
- Refactoring Day 23 : Introduce Parameter Object
- Refactoring Day 24 : Remove Arrowhead Antipattern
- Refactoring Day 25 : Introduce Design By Contract Checks
- Refactoring Day 26 : Remove Double Negative
- Refactoring Day 27 : Remove God Classes
- Refactoring Day 28 : Rename boolean methods
- Refactoring Day 29 : Remove Middle Man
- Refactoring Day 30 : Return ASAP
(most of these can be found here too: Refactoring.com) but at lost techies it comes with cool explanation and sample source code.