In the comments to a Very Serious discussion of debugging at Slashdot, appear the Top 10 Rules of Debugging:
- 10. Code is always Beta. It's never done until it's no longer in use or support no longer exists.
- 9. The better the SDK, the more sophisticated the bugs.
- 8. There's always more bugs in the other guy's (girl's) code.
- 7. Declaring code bug-free is asking for it to fail at the worst possible time with the greatest visibility.
- 6. A good design is as likely to have bugs as a bad one. Bugs are equal opportunity.
- 5. Debugging time is inversely proportional to coding time.
- 4. If it works the first time, there's a bug, but you won't find it until you roll it out.
- 3. Debugging is fun. Really! It's when you run out of bugs that you should wonder if you got them all, that's not fun.
- 2. The most difficult bugs to find are in the most straightforward looking code.
- 1. That's not a bug, that's a feature.