ある夏のシステム開発のことだった…
納涼!ほんとにあった怖いコード(by CodeIQ×はてな)
ある夏、私はとあるプロジェクトでプログラマとしてアルバイトをしていた。
そこでは、PHPを使った管理ツールを作成していた。
しばらくして、社長から「私のコードをメンテナンスしといてくれ」との指示を受けた。
そのプログラムはとある店舗の売上などを表示するというものだ。
社長がどのようなコードを書くのか心踊らせた。
しかし、それは吐き気に変わった。
なんと、手続き型で記述されたHTMLと混ざったPHPコード、SQLコードが1000行近くも続いていたのだ。
さらに何やら怪しげな関数群をインポートしているので、一体何行分のコードになるのかわからない。
ソースコードを読んでいくと、$kinという変数が出てきた。
頭上に疑問符が浮かんだが、どうやら金額という単語を連想させたいのかなと解釈した。
次に$kin_gという謎の変数が登場した。
これはHTMLに差し込まれている変数部分から金額の合計だということがわかった。
さらにコードを読み進め、処理が一区切り終わったところでコメントアウトが登場した。
//こんな処理でいいんかな?ちょっと重いと思うねんな
//もっといい方法あると思うわ
なんとTwitterで呟きが如くコメントアウトに社長の心境が呟かれているではないか!?
そこに
//SQLのチューニング、変数名の最適化をしておきました。
とコメントアウトで返信しておいた。
そして次の処理部分を覗くと、なんと一区切り前のコードと酷似しているコードがずらずらと書かれていた。
区切り終わりには
//こんな処理でいいんかな?ちょっと重いと思うねんな
//もっといい方法あると思うわ
とコメントアウトが。
さっき編集したコードがまた登場したことで私は混乱し、時間を遡ったと錯覚した。
しかし、現在の行数を確認するとしっかりと読み進めていることを確信し、我に帰ることができた。
さらにコードを読み進めると、またも酷似したコードがいくつも続いた。
私は、錯乱し、コード自体をゴミ箱へと運んでやった。
その後、同じ挙動をするプログラムを一から開発し、プロジェクトが終わると同時にアルバイトを辞めた。
私が無限ループを感じたことはそれ以前、以降なかった。
あの夏の恐怖はエディタを開くたびによみがえる。