新・闘わないプログラマ No.105

いわしの頭


以前、ある人物が書いたプログラムのコメントに、妙な記号(?)が付いているのを見つけました。

    /***************************************************
    ** ファイルから該当するレコードを読み込む
    **
    **   buf  : 読みこんだレコードを格納する配列 
    **   len  : bufの配列の大きさ
    **   rec  : レコード番号
    **   正しく読みこまれた場合は0、
    **   エラーの場合は0以外の値を返す            ⊂★⊃
    ***************************************************/
    int get_file_rec(char *buf, size_t len, int rec)

とかいう感じで、コメントの最後に「⊂★⊃」などという不思議な記号がくっ付いているのです。もう忘れちゃいましたけど、他にも幾つかバリエーションがあって、とにかくコメントの最後に変なものが付いている。
そのプログラマ、あるシステム構築のためにメーカー系のソフトウェア会社から派遣されてきた人(本当は多分、そのまた下請けか孫請けの会社の人だと思うのですけど、まあ、そのあたりは知らないことになっている)でしたけど、ちょっと聞いてみました。
「ねえねえ、君のプログラムのコメントになんか変な文字が必ず付いているんだけど、あれは何?」
「あ、気にしないで下さい」
「そんなこと言ったって、気になるんだけど」
「別にコメントだからかまわないじゃないですか。行数が増えているわけでも無いですいし」
「んじゃ消して」
「だめです」
「じゃあ、何で?」
「別にいいじゃないですか。プログラムにバグがあるというのなら直しますけど」
「そういうわけにはいかないのだけど。変なものが付いていると、後で別の人がそのソースを見たときに『これ何だろう』ということになって、のちのちいろいろと問題が起きるかも知れないからね」
「あのくらい、別にいいじゃないですか」
「ん? なんでそんなにこだわるの? あの記号らしきものは、いったい何?」
「おまじない、です」
「へ?」
「だから、お・ま・じ・な・い」
「いったい何の?」
「バグが出ないように…」

はあ、さようですか。おまじないですか……。
そう言えば「バグ退散」なんていう御札もありましたけど(あれは、雑誌の「アスキー」でしたっけ?)、なにやら、宗教的なものも絡んでいるような気もしてきたので、それ以上は詮索しないことにしました。今でも、あの「バグ退散」記号のついたプログラムは某社のシステムで元気に動作しています。そういや、あのシステム、トラブルが少ないような気もするけど、そのおかげだったりして。
まあ、プログラマの中にも、縁起を担いだり、ジンクスを気にしたり、なんて人が結構います。今日は日が悪いからどうのこうの、とか。まあ、半分ギャグでやっている人が多いのですけど(そのくらいの心のゆとりがある方が、仕事がうまく行くことが多いですからね)、なかにはそうでない人も。
これはプログラマじゃなくて、マネージャクラスの偉い人に多いのですけど、本当に縁起を担いだりする人がいるんですよねー。そのせいで、開発スケジュールがぼろぼろになってしまったりしたシステムも見たことがあります。

話は変わりますけど、システム開発をやっていると、不思議な現象に出くわすことがあります。私が一番不思議だなあ、と思っているのは、開発がぼろぼろでシステムのカットオーバー直前までトラブル続きだったのに、いざ本番稼動させてみると、ほとんどトラブルが出ない、という現象です。
こういった経験、私も何度かあります。いや、もちろん、開発がぼろぼろで、本番もぼろぼろ、というシステムも数多くありますけどね。あ、そういえば、開発が完璧で、本番も完璧、というシステムは、私は知らないなあ……そんなシステム、世の中に存在するのかなあ。
余談はともかくですね、システムのカットオーバー前日になっても、システム自体がうまく動かなくて、あちこちに致命的な問題が発生して「こりゃあもうどうしようもないなあ。でも、契約上、明日本番稼動させないわけにいかないから、いいや、もうこのまま稼動させちゃえ。どーせトラブるだろうけど、そんときゃそんときだ。上の人間に頭下げてもらおう。そんときのためにいるんだからさあ、上の人間なんて」なんてことが、よくあります(←「よく」?)
システムのカットオーバーの日には、早朝からトラブルを待ち構えて待機している我々。しかし、そんな我々の期待(?)を裏切るように、平穏無事に1日が過ぎて行く……いや、もちろん小さなトラブルは発生するのですけど、大勢に影響が無い、というか、笑ってごまかせる程度のやつばかり。
「いったい、あのぼろぼろだったシステムはどこに行ってしまったんだー」
まあ、冷静に考えれば、多人数で開発しているシステムって、開発環境が結構めちゃくちゃになっていることが多くて、たとえば自分が何かのアプリケーションのテストをやっている最中に、そのアプリケーションが使っているライブラリを誰かが入れ替えてしまった、とか、ネットワークの構成を変更してしまった、とか、いろんなことがあって、うまく動かす環境を作るだけで大変だったりしますから、そういったことでトラブルが続出したりすることもありますね。
特に期限が迫っていたりすると、みんな気が立ってくるし、てんやわんやの状態になりますから、ちゃんと動くほうが不思議だったりするかも知れません。そんなのが重なって、開発ではぼろぼろだったシステムが、本番環境では大きな問題も無く動くなどということもあるのかも知れません。
でも、もしかすると誰かの「おまじない」が効いた、のかも知れませんけど。

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp