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年前はこんなコード書いてたと思い、けっこう懐かしい気分にもなった。(今こんなコード書いたら怒られるな、とも思った。)