エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

「動いているコードをいじらない」のは誰?

「動いているコードはいじるな」という言葉、いろんな場でいろんな意味で取り上げられますが。ところで「いじるな」と言っているのは、誰?


今週は静的解析ツールの解析レポートを見ていました。きっかけは、時間ができたので何気なく結果を見てみただけだったんですが、レポートされている警告に対する担当者のコメントがヒドスぎるのをみつけてしまい、片端からコメントの内容をチェックして品質管理担当に報告するということをしてしまいました。差し出がましいまねになるかなぁ、という気持ちもあったんですが、この状態は看過できないという思いが勝った結果。

たとえば。「operator new[]で確保した領域をoperator deleteで解放している」という警告に対して「実測してリークがないこと確認した。いまのプラットフォームなら大丈夫」みたいなことが書かれていて。全然大丈夫じゃないだろ、いまは偶然動いてるだけだろ、とかPCの前でツッコミをいれてしまいました。


「動いているコードはいじるな」という言葉、いろんな場で取り上げられると思いますが、個人的にはこの言葉の
主は管理者の発する言葉のイメージがあります。ちがうという人もいると思いますが、わたしにはそんなイメージがあります。
でも今回のようなケースを見ていて、コードを書いているプログラマ自身の言葉なんだろうか?という思いを持ちました。明らかにまちがっていても動いてるから変えたくない。まちがっていても変えたくないぐらいだから、動作上ですぐには実害のない、実行されないコード、代入だけされて参照されない変数、利用しない機能のヘッダファイルのインクルード、といったものはほとんど手を付けられず。


想像でしかないんですが、新しく書くコードにだけ関心があってすでにすんでしまったコードはもう相手にしたくない、メンテナンスは面倒、という意識が働いているのかもしれない、とひとしきり考えました。


いま、わたしが報告した内容を参考にコメントの見直しがされています。
それへの反応をみて、もうすこしこのことについて考えてみたいと思います。