Bug Hunting
The three stages of bug hunting (via ~stevenf)
- It can never happen!
- Strange, it happens…
- How can it even have worked before?
more easily understood as: denial, acceptance, and amazement.
Many bugs I’ve encountered and fixed in my young Computer Science days went through these steps. While denial is useful for ego inflationg, I quickly grew past it, because I realized it didn’t contribute anything to a final solution: it only delayed inevitable acceptance. It’s quite hard to deny the existence of a bug when the program crashes or when a tree traversal returns incorrect values.