Refactoring Manifesto Because the world needs better code
- Make your products live longer! Refactoring means taking the opportunity to keep your product alive. Don't ditch it, stitch it! Don't end it, mend it! Refactoring is not a needless cost. It is anti-needless complexity that prevents change.
- Design should be simple so that it is easy to refactor. Product designers: Make your products easy to change. Write clean, understandable code. Consumers: Buy products that are continuously refactored, or else find out why the developers didn't do that. Be critical and inquisitive.
- Refactoring is not rewriting. Rewriting is throwing away the broken bit. This is NOT the kind of refactoring that we're talking about.
- What doesn't kill it makes it stronger. Every time we refactor code, we add to its potential, its history, its soul and its inherent beauty.
- Refactoring is a creative challenge. Refactoring is good for the imagination. Using new techniques, tools and materials ushers in possibility rather than dead ends.
- Refactoring survives fashion. Refactoring is not about styling or trends. There are no due-dates on continuously refactored code.
- To refactor is to discover. As you refactor objects, you'll learn amazing things about how they actually work. Or don't work.
- Refactor – even in bad times! If you think this manifesto is not relevant during recession, forget it. This isn't about effort, it's about mentality.
- Refactoring is about independence. Don't be a slave to legacy code – be its master. If it's broken, refactor it and make it better. And if you're a master, empower others.
- You can refactor anything, even total crap. But we'd recommend avoiding total crap. Refactoring stops code from becoming crap.
Stop Rewriting. Start Refactoring.
To date, a total of 1101 people have signed this manifesto. We have done so to voice our concern over the state of practice and our passion towards the profession of software development. We want to feel proud of our work and see our products stand the test of time, serving their users and developers alike. Join us!
This manifesto was inspired by and shamelessly copied and repurposed from Platform21's Repair Manifesto.