How to really fix a bug
If you're feeling virtuous:
- Figure out what's going on.
- Figure out why what's going on wasn't immediately obvious.
- Make it so that such failures are caught and reported obviously.
- Make it so that the rest of the system recovers from such failures.
- Write a test for the bug, and a couple more while you're at it.
- Write the actual fix.
(I ought to do more actual concrete blogging, like what I've been doing lately. This crossed my mind as a light and easy piece — I actually followed part of this procedure yesterday after pushing a version (of what, I'll get to later) that was rather broken.)