仕事でOpenPNEのソースを読む必要があったんですが、想像してたのとは違って全然読み易い。

「なんだー、読み易いじゃんー」

などと言いながらホクホク読みました。

オープンソースプロジェクトはソースの読み易さを気にするためか、読み易いものが多いようです。しかし、社内ツールやレガシーシステムなど、世の中にはまるで夏の目黒川の如く近づくことさえためらわれるようなPHPアプリケーションが多数存在します。

そんなPHPアプリケーションの異臭を嗅ぎ分けるための7つのポイント。

  1. テンプレートシステム(PHP自身を含む)が無い。
    これさえあればコードを理解するのはかなり容易になるでしょう。さもないと・・・。
  2. register_globalsがOn。
    そのアプリは臨終前の患者です。大きな手術は諦めて延命治療に勤めましょう。
  3. magic_quotes_gpcがOn。
    フォームから保存するたびにバックスラッシュが増えるアプリを見るのはとても悲しいことです。
  4. IIS
    至急PHPとWindows Serverのベテランを探しましょう。
  5. 設定ファイルがXML 。
    最大で深さが2しかないデータ構造にまでXMLが使われている場合、プログラマは設計者の強い信念と独創性に苛まれるでしょう。(特にPHP4では茨の道。)
  6. eval, extract, create_function
    grep殺し。
  7. mbstring.encoding_translationがOn。
    素人にはオススメできない。

これらの特徴はデスマーチの周囲でしばしば目撃されることが知られています。

ある研究者(俺)によれば、php.iniやソースコード管理システムを上記のキーワードで検索するだけでPHPプログラマーのデスマーチ回避率は32%向上すると言われています。

もちろん上記を上手く使っているアプリケーションも多くあり、使っていること自体を非難することはできません。

・・・。

と無難にまとめようと思いましたが、あきらかに使うべきでないものも世の中にはあるんです!

参照: PHPで知っておきたいcreate_function5つのトリビア

Comments


Option