A default setting almost made us lose our client’s data.

by

There was an option that defaulted to "log everything" in staging and "log nothing" in production, which seemed to make sense until we discovered that it had never been explicitly set for the new service. The new service would just inherit the logging behavior from production, which is none at all. We didn’t see a thing going wrong for three weeks straight in one of our services.

The issue was not in the logic. The issue was that the reasonable default value meant there was an implicit decision made that nobody decided on.

I’ve learned to treat the un-set option as a code smell rather than a convenience.

Where else have you bitten yourself with quiet defaults?

4 views

Add a comment

Replies

Be the first to comment