A few days ago, I received a link to a blog post called some lesser-known truths about programming. Among other things, it states:
Bad programmers spend much of that 90% debugging code by randomly making changes and seeing if they work.
Patrick, my business partner, jokingly calls this Guess-Driven Development and I now take the liberty to publish the term in writing. I will admit that I have fallen for this type of development quite a few times. But now I have started to wonder: Where is the fine line between guessing and exploring?
When faced with a strange bug or error in some system, we are taught to use e.g. a debugger and over time, we hopefully become more adept at solving bugs. But sometimes (many times) I have solved a problem by almost randomly trying out different solutions. So is this guessing or exploring? I don’t have the answer.
Maybe I should have listened more carefully in Software Engineering class?