ハードウェアは重い、、、
忘れていました。ハードウェアは重いって、、、
いつの時代でもハードウェアは重いです。
今も、そして未来も、、、
理屈上、動くアプリが動かなかったりします。
または動いても不安定、、、
プログラム上にミスが見つからない不具合、、、
ハードウェアへのアクセスって遅いんです。
ハードウェアにアクセスする箇所はワザと処理を重くしないといけません。
これは、電話のベルがまだ鳴っているのに、話しかけているようなものです。
相手の声を聞いた後から話さないと、話し始めないと意味が無いんです。
相手が家に居る前提で話すと、かけた瞬間に受話器を取る前提で話すと駄目なんです。
結果的にこのようなアプリを作っていました。
たまに動かないことがあると相談を受けました。
理屈上では動くアプリです。
動くのですが、やたらめったらハードウェアの状態を確認しながら、そのタイミングで書き込み作業を行なっていました。
データの読み込みと書き込みは同じタイミングでするもんじゃありません。
いつもは問題なく動いていても、たまに失敗する、、、
そういう可能性があるのです。
ツール系のアプリは確実に動くことが求められます。
そういうアプリでリスクを負わないで良いところで、リスクを負っていました。
再現性の低いバグって、、、こういうところが原因なんでしょうね?