出社して、PCを起動し、自動起動するスケジューラに書き込みが。
σ(-_-) の予定に、「お時間ください」と書き込まれている。
だが、メールなどには連絡なし *1。
どうやら、σ(-_-) はスケジューラは覚書程度にしか利用していないのであるが、
他の方は、スケジューラでかなり厳格に管理しているらしい。
で、先方が来訪されたので会議室にて、何かの報告。
ぢつは、σ(-_-) が、
本来、正しく計算するために、
ある場合は処理の前で値を反転させて計算し、
処理が終わったら再反転して値を元に戻していたのだが、
途中で分岐で飛んで来る場合が稀にあって、
その場合は、必要もないのに値が反転してしまうというモノである。
はっきり言って、今回のバグはアルゴリズムのミスというよりも
プログラム構造が問題。
そんな複雑に考えず、
単純に処理の前後で反転と再反転を行えば良かったし、
そもそも、反転させた値を次のモジュールに渡してしまうというのが
思想的な原因だと思うのだが …… 、
今回のプログラムでは、
かなり上流で反転し、
反転した値と反転を行ったというフラグを
次処理に渡していたのである。
そのため、もう次の処理を組んでいるときには、
上流に反転処理があるなんてこと忘れてしまって
分岐処理を入れてしまったんだろうなぁ。
こ〜〜ゆ〜〜のを見ると、
センスとか適正とかというのを感じてしまいます。
*1:これからは、電子メールでも連絡くださいね。