400
Post/Edit Page
追いにくいバグの話をすればキリはない。そのわりには、こういうバグは追いにくいから作らないように心がけよう、という「失敗学」的なプログラミングの教科書をまだ見たことがない気がする。実例つきで「追いにくいバグ100選」なんてどうだろうか。かなり需要はあると思うのだが。▼今日は、100選が実現されればどちらもノミネートされるであろう二つのバグに出くわした。両手に華である。ひとつは王道中の王道、未初期化ポインタへのアクセスによる遅延ハング。もうひとつは邪道、今日までコンパイラを騙してビルドエラーを阻止していた箇所の、最適化レベルを変更にしたことによる意図しない処理の変更。▼前者については、忘れずに初期化してくれとしかいいようがない。確実に呼ばれるクラスの関数内に、デバッグ定義で全メンバポインタへの無意味なアクセスでも試しておくと良いと思う。後者は、コードハックには勇気とメモが要るという教訓である。
pass:
Draft