Martin Fowler has written an excellent book about Refactoring. It’s well worth getting a copy and encouraging everyone to read it, even if they only get as far as a couple of chapters. These learning hours help you to practice the skills you need to use the refactorings in his book and improve the design of your production code.
I have a page with suggested series on Refactoring for various programming languages. Below is the full list:
- Vocabulary for Refactoring
- Replace Nested Conditional with Guard Clauses
- Misconceptions about Refactoring
- Primitive Obsession
- Refactoring Without Tools
- Renaming Variables, Fields and Types
- Domain Oriented Observability on Reservation Kata
- Change Signature
- From Struct to Class
- Extracting Data Clumps
- Identify Paragraphs in Long Methods
- Idiomatic Code
- Keyboarding skills
- Lift-Up Conditional Introduction
- Replace Conditional With Polymorphism
- Refactoring Golf
- Mending Law of Demeter Issues with Refactoring Tools
- Lift-Up Conditional on Gilded Rose
- Parallel Change
- Roll Up Loop
- Simplify Conditional