log > PHPの古いコード読んでる

古いコード読んでる

先週からPHPの古いコードを読んで直している。直した経過を随時どこかに書けばいいのだが、直すだけで満足してしまい、書いていない。後で自分が参考にすることもあるのだから、書けばいいと思う。

15年くらい前に書き上がって、3年くらい管理されていたことがわかる掲示板のコードを読んでいる。昔は自分のホームページに掲示板や箱庭ゲームなんかを設置することが流行っていた。PerlかPHPで書かれていたコードは、今は保守されていないことが多く、まともに動かないまま配布されていることもある。

今読んでいるPHPのコードの特徴をいくつかあげると、

  • $_GETや$_POSTをextractで展開し、global宣言で関数に値を渡すことなく使っている
  • スクリプト先頭にglobal変数として設定項目が書いてあり、それを各所で使用している
  • foreachは使わず、while+list+eachで配列などを処理している。
  • ヒアドキュメントは使われていない
  • ereg系の正規表現関数が使われている。(現在はpreg系を使う)
  • データの記録時にhtmlspecialcharsを使っている。(現在は出力時が一般的)
  • 関数に切り分けられているが、(特にView周りは)機能で切り分けられているわけではない
  • MVCは意識されていない
  • ログはテキストファイル(.log)として保存する。区切り文字は”<>”
  • だれでもHTMLタグを使って投稿できる機能がある
  • ファイルの文字コードがShift_JIS
  • 書き出すHTMLタグにcenterやfont、basefontなどがある

といったところ。これらを現代風のソースコードに直している。直していて思ったのは、作者の意図がわかるコードは直しやすいことだ。コピペがまだそれほどなかった時代のためか、作者のクセが読みやすいので割といじりやすい。大規模なコードでもないので変な増築も少ない。それに、上から順次実行していくコードなので、あちこち飛んでいない分解析しやすかった。

私も13年前はこんなコード書いてたと思い、けっこう懐かしい気分にもなった。(今こんなコード書いたら怒られるな、とも思った。)