For those in need of a quick refresher on Martin Fowler’s approach to refactoring.
I want to share a short summary of: Fowler, Martin. “Principles of Refactoring”. Refactoring: Improving the Design of Existing Code. Pearson Education, 2019, pp. 45-70. To make it more useful, I’ve prepared a PDF with my notes. You can open it in your browser or download it:
The notes will be helpful for those who are already familiar with the book. You can use them as a handy cheat sheet when you need to quickly explain:
- what refactoring means,
- when to do it (and when not to),
- why we need it,
- how to coordinate refactoring with other software practices.
In addition, you will find an outline of practical approaches to overcoming common refactoring problems like conflicts when integrating your changes to codebase, planning the right scope, aplying changes in databases, etc.
Finally, the notes provide a synopsis of the refactoring vs performance problem, useful when you need to decide whether you should prioritize performance or code maintenance.
The notes do not include the Refactoring Catalog as there is a concise summary already available online.
Whether you use your own notes or this summary – keeping the handy cheat sheet at your fingertips saves time. After all:
Refactoring isn’t a special task that would show up in a project plan. Done well, it’s a regular part of programming activity.https://refactoring.com/
Make the refactoring book notes more effective with additional reading
- Martin Fowler @ OOP2014 “Workflows of Refactoring”
- Extreme programming practices
- Code refactoring in Intellij
- Boost project quality with SonarQube – local code analysis
Photo by Anastasia Shuraeva from Pexels