Slogging through code is what we do for a living. What would you give to be able to improve your existing codebase?
The Refactoring book completely changed the way I code.
In 2001 while searching for information on design patterns, I discovered the original wiki, and stumbled on Extreme Programming. This led me to a software development conference in 2002 called SD West. There I attended a session by Martin Fowler, and knew that I had to pick up his Refactoring book that day.
How could I resist a book that promised to teach me about “improving the design of existing code”?
Refactoring: Co-opted in the workplace?
Many years later, I find the term “refactoring” being thrown around in the workplace, at several software companies. Programmers and managers often talk about “refactoring,” when they usually just mean “rewriting.” I’ve seen nightmares brought about by so-called “refactoring” that introduced so many defects, it compromised the product ship date.
The Refactoring book, however, teaches a disciplined methodology of changing code in small steps, with automated verification of each step.
Of the books I keep at work, a small handful are kept within easy reach for looking things up. This is one of those books. Each refactoring has a detailed recipe of its steps, and things go better when I open the book to follow those precise steps.
If my statement that it “completely changed the way I code” seems like hyperbole, another blogger states it even more strongly: “That moment changed my life.”
Would you like to transform ugly code to make it better, but do so safely? What are you waiting for… buy a copy of the Refactoring book today!
- refactoring.com is the web site companion for the book. Check out the list of refactorings to get a feel for what I mean when I call it a disciplined methodology.
- Hamlet D’Arcy wrote a classic blog post about the current state of refactoring in most companies: “You’re not refactoring; you’re just changing s***.“
- Check out other books I recommend.
Question: What has been your experience with refactoring? Leave a comment below.
Refactoring: Improving the Design of Existing Code by Martin Fowler
Disclosure: Please note that the book links above are affiliate links. If you buy anything, I earn a commission, at no extra cost to you. I recommend only books that have had a positive impact on me. If you are ready to buy a book and would like to support this website in some way, using these links will help do exactly that. Everybody wins.