Bug Pattern: Ignoring the Default Case

I’m going to be writing up bug patterns as I see them, as a bit of a personal learning project. When I create bugs, what caused me to create them?

This first one I’m going to call Ignoring the default. Imagine this scenario:

  • You find a tricky bug
  • You spend a while debugging it
  • Aha! You finally find the problem. Fix it. You test the reproduction case. You ship the fix.
  • Time elapses.
  • A very common case in your application isn’t working correctly.

I did this yesterday. What was the problem? I ignored the default case. I got so focused on fixing the error case that I forgot to test the default case and rushed to shipping the fix.

This actually came up due to two issues:

  • I ignored the default case when I was preparing the fix.
  • My test coverage didn’t cover the default case.

In this particular situation I’m not sure a test for the default case would have made that much sense, but still. I ignored the default case.

Love it? Hate it? Have something to say? Let me know at comments@nalanj.dev.