RSS The Daily WTF

CodeSOD:テダに行く

カルロス・Gは問題のあるC++コードに遭遇し、その履歴を調査しました。 元のコードは、"YYMM"形式を想定して有効期限を解析していました。 年と月を抽出するために、`sscanf` をフォーマット文字列 `"%2d%2d"` で使用していました。 しかし、実際の入力形式は "MMYY" であることが判明しました。 不適切な修正として、解析前に手動で入力文字列の文字を "YYMM" に並べ替えることが行われました。 この中間的な修正は、誤解を招くコメントと不適切な責任転嫁によって正当化されていました。 開発者は、入力形式が他の場所で変更されたと信じており、それが複雑な並べ替えにつながっていました。 その後、カルロス・Gは `sscanf` のフォーマット文字列を修正することで、クリーンなソリューションを提供しました。 新しいコードは、"MMYY" の入力形式を正しく想定しています。 不要な文字列操作なしに、入力は直接月と年の変数に解析されます。
favicon
thedailywtf.com
CodeSOD: Going on a teDa