- Author: Sean Chambers
- Format: PDF
- Price: free
Refactoring is an integral part of continually improving your code while it moves forward through time. Without refactoring you accrue technical debt, forget what portions of code do and create code that is resistant to any form of testing. It is an easy concept to get started with and opens the door to much better practices such as unit testing, shared code ownership and more reliable, bug-free code in general.
This is Sean Chambers’ 31 Days of Refactoring blog series converted into a handy e-book format.
Chapters include:
- 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 method
- Refactoring Day 29 : Remove Middle Man
- Refactoring Day 30 : Return ASAP
- Refactoring Day 31 : Replace conditional with Polymorphism