This book is mainly collection of refactoring methods given in Martin Fowler's great book
- Change Function Declaration
- Combine Functions into Class
- Combine Functions into Transform
- Extract Function
- Extract Variable
- Inline Function
- Inline Variable
- Introduce Parameter Object
- Rename Variable
- Split Phase
- Change Reference to Value
- Change Value to Reference
- Rename Field
- Replace Derived Variable with Query
- Split Variable
- Encapsulate Collection
- Encapsulate Record
- Encapsulate Variable
- Extract Class
- Hide Delegate
- Inline Class
- Remove Middle Man
- Replace Primitive With Object
- Replace Temp with Query
- Move Function
- Move Field
- Move Statements to Callers
- Move Statements into Function
- Remove Dead Code
- Replace Loop with Pipeline
- Slide Statements
- Split Loop
- Consolidate Conditional Expression
- Decompose Conditional
- Introduce Assertion
- Introduce Special Case
- Replace Conditional with Polymorphism
- Replace Nested Conditional With Guard Clauses
- Collapse Hierarchy
- Extract Superclass
- Pull up Constructor Body
- Pull up Field
- Pull up Method
- Push down Field
- Push Down Method
- Remove Subclass
- Replace Subclass with Delegate
- Replace Superclass with Delegate
- Replace Type Code with Subclasses
- Substitute Algorithm
- Parameterize Function
- Preserve Whole Object
- Remove Flag Argument
- Replace Command with Function
- Replace Constructor with Factory Function
- Replace Function with Command
- Replace Parameter with Query
- Replace Query with Parameter
- Separate Query From Modifier
- Divergent Change
- Duplicated Code
- Long Parameter List
- Loops
- Message Chains
- Middle Man
- Mutable Data
- Mysterious Name
- Primite Obsession
- Refused Request
- Repeated Switches
- Shotgun Surgery
- Speculative Generality
- Temporary Field
- Link the code to the documentation
- Fix some relative links