- 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
- Refactoring Day 31 : Replace Conditional with Polymorphism
Final post with links to download samples: http://www.lostechies.com/blogs/sean_chambers/archive/2009/08/31/31-days-of-refactoring-series-complete.aspx