修正しなくても運用上問題のないバグを修正する
1年半ほど前に納めたプログラムのことですが、納めて間もない頃、実行途中の何かのバグによって不正なデータが作られてしまう、というトラブルが出ました。
本当ならそのバグを解決すべきなのですが、当時はどうしても原因が分からなかった(デバッグに苦労したのは、そのプログラムが関数の再帰呼び出しを多用するような込み入った構造だったということもある)。
そのため、作られたデータのチェック関数を同じプログラムの後段に置いて不正なデータが作られていたら出力しない、という苦し紛れの手段で乗り切ったのだった。
その後は別件で改修することはあったにせよ安定して稼働してきた。
ところが最近になって客先で運用中のデータを見たところ、未解決だったバグが依然として残っていることをログに発見してしまったのだった。
顧客から請け負った"仕事"としては、このバグを解決する必要はほとんど無いと言えます。修正するメリットとしては実行速度がほんのわずか改善するぐらいなのに対し、不用意な修正で別のバグを作ってしまうリスクは無視できません。私が会社勤めならば修正しないという判断をするでしょう。
しかし自己満足のためであっても、(一応)プロの技術者としてはバグの原因はどうしても知りたい。
そんなわけでこの金~土曜日はもう一度腹をくくってデバッグ作業をし、そして何とか解決にたどり着いたのでした。
この修正版プログラムを何時納めるか?
修正プログラムの納品はいつもですがある種の"勇気"が必要になります。今回は必要に迫られた改修でないだけになおさらです(万が一トラブルが起きようものなら「勝手なことをして」と顧客の信頼を失いかねない)。
ですので、どうしても実施しなければならない改修が発生するまで保留することにし、その際に納品することにします。
(このような判断を自分だけでできるのも自営業だからかもしれません)
« NHK FM ストリーミング放送録音 | トップページ | フリーランスにとっての"日経SYSTEMS" »
「ソフトウエア」カテゴリの記事
- PIC18用Cコンパイラ(PCH)メモ (3) 【const修飾子】(2015.05.10)
- PIC18用Cコンパイラ(PCH)メモ (2) 【関数ポインタ】(2015.05.10)
- PIC18用Cコンパイラ(PCH)メモ (1)(2015.05.06)
- PIC用Cコンパイラを開発元から直接購入(2015.05.04)
- オライリー「JavaScript」(2014.01.16)
コメント