What would you give to be able to improve your existing codebase with complete safety?
Disclosure: The book links below are affiliate links. If you buy anything, I earn a commission, at no extra cost to you.
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 company after company. Programmers and managers often talk about “refactoring,” when they 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! (I’m eagerly reading the second edition now.)
Resources:
- 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***.“
- Watch my screencast Refactoring Demo: Is It More than Just Changing Stuff?
- Do You Refactor without Tests? It’s Time for Safety
- When You Refactor, What If You Took Smaller Steps?
- Try the refactoring exercises in Part III of my book iOS Unit Testing by Example
Question: What has been your experience with refactoring? Leave a comment below.
Hi,
Finally received my copy of Refactoring. The hardcover somehow reminds me of the time I was in college.
Enjoy the rest of the weekend.
Best,
-Herman
Herman,
Consider yourself back in school. :)