Why clean code is more important than efficient code | TechRepublic
As computing resources continue to grow, efficiency falls further behind another concern when writing code, though. That concern is the cleanness of the code itself. Mostly, this boils down to readability and comprehensibility. Programmers need to be able to read and comprehend your code — programmers that will come along after you have moved on and even when you come back to your own code in six months.
Without readability and comprehensibility, you cannot easily reuse your code. You will be forced to reinvent the wheel many times over if you decide it is easier to write from scratch than use what you have already written when that would otherwise serve perfectly well. When writing open source software, the same problem applies to other people. Even worse when writing open source software, if your code is unreadable or — once read — incomprehensible, nobody else will bother looking at the code very much; you will not get any feedback on it other than (perhaps) complaints about that, you will not get code contributions, and ultimately your “open source” will be so opaque as to be effectively closed. It may be easier for others to just rewrite the needed functionality and put your project “out of business”. This is happening to GNU Screen right now.
I've always known this. An interface to a tool, and it's ability to be understood and used properly, is more important than how effective it is. But this is only true when all tools are mostly effective. That's why this has only become true in the last decade or so. Before then it was all about effectiveness.