The Daily WTF 日本語
フォロー
代表的なセリフ:どちらの方法も私を悩ませる
デバッグコードは、本番環境に奇妙で、時には無意味な式が出現する原因となることがよくあります。そのような事例の1つに、珍しい条件節を含むSQLクエリがあります。クエリの該当部分はWHERE (some conditions) AND (1 = 0 OR (1 = 1 AND (other conditions)))です。この構造により、「1 = 0」の部分を操作することで、常にレコードを返すか、メインの条件に基づいてレコードを返すかの切り替えが可能になります。レコードを全く返さないように設定することも可能ですが、その有用性は疑問です。著者は、これらは削除されなかったデバッグフラグの残骸である可能性が高いと示唆しています。このような残存フラグは、コードの可観測性の欠如を示しています。他の多くのフラグと同様に、これらは文書化されておらず、コードのリリース以来存在していたようです。このクエリは、アナリストの一時的なツールとして作成され、その後、永続的なストアドプロシージャになった可能性が高いです。「デッド」フラグの存在は、開発およびデプロイメントプラクティスにおけるより広範な問題を示唆しています。