Too often, you won’t be given time to make your software understandable. Probably almost never. So you have to incorporate a way of programming that leaves your code more understandable after you fixed your bug or added your feature.
I don’t know if understandability is the most important thing. However I certainly agree with the author that it’s curcial, if you ever want to do more than merley a script or a proof of concept.
So write it properly from the get-go. You can get 90% of the way by naming things properly and following the Single Responsibility Principle.
It’s clearly secondary to correctness: A program that is well-written but doesn’t work right is worthless. Many hairy balls of mud have shipped to great acclaim.
Human readability & comprehension is nice for maintenance, but you don’t get to maintain something that never worked right to begin with.
… Of course, Windows is existence proof that you can be successful with neither.
A program that works right but doesn’t solve the problem is also not very useful.
The most important part of part of programming is learning to understand software