Resources on Refactoring

Refactoring is a key skill in developing software. These resources can help you improve.

If you just want practice with refactoring, choose some Exercises. If you’re just starting out, consider the E-Learning or Books section.

Related Resources: BDD, TDD (Test-Driven Development), CI/CD (Continuous Integration / Continuous Delivery).

[Disclosure: Note that I wrote some of the material mentioned below, and I work for Industrial Logic.]

Newest entries are bolded.



  • Industrial Logic’s Code Smells [multiple languages]
  • Industrial Logic’s Code Katas – includes the Gilded Rose exercise with a video solution [Java]
  • Industrial Logic’s Refactoring [multiple languages]


If you have to pick one, go with Martin Fowler’s Refactoring: Improving the Design of Existing Code.

Web Sites

Web Articles


[I welcome further suggestions of resources you’ve found useful, provided they’re something I (or a friend) can review before adding them here.]