「 ”一部を直すだけ” だろ ? 」 …… 凸(- -#)



screenshot
  .



最近私に依頼された仕事で、プログラムの大幅な機能アップをするのがありました。当然元のソー スプログラムが提供され、予定通り動作するか検査をすると、だいたい動いているようなのですが、 大量のデータで検査すると、どうしてもうまく動きません。しかも、内容が画像処理関係なので、 バグが出ると追跡するのが大変困難なソフトでした。ソースを見ると、非常に長い関数が1つあり、 どうもその動きが問題らしいのだけれども、何とその関数は400行もあり、私の理解の限度を越え ていたので、機能別の関数に分割していきました。そして、そのついでにきれいに書き換えてしま いました。すると、バグは全然出なくなってしまいました。要するに、きれいに整理しただけだっ たのに、バグまで自然に直ってしまった訳です。ついでに、実行速度も倍近くになりました。


ちょうど同じころ、何万行ものソースを抱えている所で、いつもバグに困っていた会社に勤めて いる仲間がやって来ました。以前、そこのプログラムを見たとき、「えっ、これがC!」というよ うなリストだったので、


「 こんなもの、さっさと捨てれば、問題は解決するよ 」


と忠告してあげた のですが、その親切な忠告を無視して、汚いCをいじり回していました。当然、バグに悩まされ続 けていたようでした。


ところが、ある日、仲間がやってきて、


「上司に無断で、不要な関数、重複している関数を削除し、全体をきれいにしたら、原因不明の暴 走がほとんど無くなってしまったよ!会社の他の連中もやればいいのに!」


と言ってました。