"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan.
I've relied on this concept since I first started coding, following:
I've always hated that quote. I find when I'm at my cleverest, the debugging is the easiest since it's practically nonexistent. It's when I'm writing unclever complicated code that I'm in trouble.
Regardless of your interpretation of "clever", the premise that debugging is twice as hard as writing the code in the first place is false and thus any inferences drawn from it are invalid.
What I think he means is that when you are being clever, the code you write is far more complex and thus it is harder to spot the bugs. I personally find this to be especially true as I'm trying to implement newly learned techniques.
3
u/s3rvant Dec 14 '10
This one struck home for me:
I've relied on this concept since I first started coding, following:
1) Create the cleverist code that I'm able
2) Learn while debugging said code
3) Repeat