The mark of a master programmer is someone who writes code that a novice can debug.
— attribution unknown
I read this quote, or something very similar to it, a long time time ago when I was just starting out.
I take the idea behind that quote to mean that master programmers have the experience to find the simplest solutions, which are easier to understand, but they also make their code easier to read so errors stand out.
It came back to me while reading a novice’s request for help in debugging something. The example was a mess, with lots of extra activity, but it was also dense and poorly formatted. The very simple bug was hard to see because of the sheer amount of code and the inconsistent formatting.
I strive to find simple solutions to the code I write, but I also strive to make my code neatly formatted and well-spaced. I generally limit my lines to ~78 characters; I vertically align related operators; I leave space around operators. This goes hand-in-hand with simple code: short functions that only do one thing; effective naming of things; do the least possible. Together these generally make code that is both robust and easy to maintain.
I think of formatting to be like engineering a bridge. Dense code is like big thick columns, steel plates, and stone architecture — it gets the job done, but it looks so heavy. The best bridges are light and airy, full of empty space, yet they are stronger and more resilient.
PS: if you know this quote, and know who said it first, please drop me a line so that I can attribute it properly!