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