We believe developers should have a particular attitude when writing code. There are actually several we’ve come up with over time – all being somewhat consistent with each other but saying things a different way.
The following are the ones we’ve held to date:
- Avoid over- and under-design.
- Minimize complexity and rework.
- Never make your code worse (the Hippocratic Oath of Coding).
- Only degrade your code intentionally.
- Keep your code easy to change, robust, and safe to change.
Source: “Essential Skills for the Agile Developer – A Guide to Better Programming and Design”, Alan Shalloway, Scott Bain, Ken Pugh and Amir Kolsky, Addison-Wesley,
I like this lean approach to software development that reminds me also the quote attributed to Einstein: “Everything should be made as simple as possible, but no simpler”. Even if we like sometimes to implement “clever” solutions, we should always remember that simplicity is a key factor for maintainability.