代表线路:双向故障
调试代码常导致一些奇特甚至无意义的表达式出现在生产环境中。其中一个实例涉及包含异常条件子句的 SQL 查询。该查询的问题部分为 WHERE (某些条件) AND (1 = 0 OR (1 = 1 AND (其他条件)))。这种结构允许通过操纵"1 = 0"部分,在始终返回行或根据主条件返回行之间切换。也可以将其配置为从不返回行,尽管其效用值得商榷。作者认为这些很可能是调试标志的残留,且从未被移除。此类残留标志表明代码可观测性存在不足。与许多此类标志一样,这些标志未加文档说明,且似乎自代码发布之初就已存在。该查询可能最初是分析师使用的临时工具,随后演变为永久存储过程。这些“死”标志的存在揭示了开发与部署实践中的更广泛问题。