カンマ(お題:納涼!ほんとにあった怖いコード)
納涼!ほんとにあった怖いコード(by CodeIQ×はてな)
↓↓↓ ここに君が見たクソコードを書こう!! ↓↓↓
//整形・保存
$Str=str_replace(",",";;;;",$Str);
(中略)
//読み出し、表示
$Str=str_replace(";;;;",",",$Str);
↑↑↑ここまで↑↑↑
これは、とあるPHPコードの、と~っても長~い関数の中の、インデントの深い深~いところで見つけた不思議な処理のごく一部。
これは何か?
CSVファイルにデータを格納・読み出す際の、「カンマ」の我流エスケープ(?)だったようだ。(なるほど、セミコロン4つなら、実際のデータ中に出てくる可能性はまず、無い?:笑)
そもそも、要件は単に、高々百数十件程度のデータの保存および、(絞込み、ソートして)、表形式で表示するだけのこと。
しかし、膨大なコードをたどってみると、この開発者、どうやら「データ形式"CSV"」で、PHP使って「データベースそのもの」の、劣化再発明を意図しているようだった。
「そっちへ行ってはいけない。」そう呼びかけようとするも、声が出ない。そんな怖さを感じた。