Zend Framework 1.8で垣間見るコーディング規約の変更

ZF-6331によると、Zend Frameworkはname space対応するにあたり、コーディング規約に変更が入るらしいです。これまでのハンガリアン記法*1からPEAR2コーディング規約への準拠へと変わるそうな。

主な変更点は、

  • これまでインターフェース名は _Interfaceで終了し、実装クラスの直下ディレクトリでInterface.phpというファイルに格納されていたが、今後は、意味の通るクラス名にし、実装クラスと同じレベルに配置することになった。
  • Abstractについてはクラス名の末尾につけても構わないが、その他の点はインターフェースと同様になる。

説明があるまでは、ころころインターフェースを変えるってどういうこと?と思いましたが、zf-contributorsで議論があったようです。

この方式の方がnamespaceへの対応がしやすいので概ね納得なんですが、auto loaderはどうするんですかね。大丈夫なのかな。
切り替えのタイミングがいつになるのか、古い規約を元に作成されたアプリケーションはどうなるのか・・そこだけちょっと気になります。

オープンソースを選択する基準

なんですが、オープンソースだとか、フレームワークだとか、なんらかのプロジェクトを選択して自サービスに利用していくわけですが、

  • どんな人たちがプロジェクトを引っ張っているか

ってのはかなり重要ですね。
まぁ、その空気がわかる頃にはどっぷりハマってるっていうケースがなくもないですが。自分がガシガシ参加して意見を言ったりできるようなレベルでもないので、ここは利用者感覚としてはそんなもんかなと。
たとえばZendFrameworkの現状の仕様や開発思想、規約などが気に入っているからといって、この先も保証されるってことはないです。たぶん、開発意欲のあるプロジェクトならそのプロジェクトが同じ状態を維持することはあまりないですから。
嗅覚みたいなもの。必要ですね。
このところの動きを見ていてZFは後方互換性よりも標準準拠を優先するという雰囲気ですね。技術的にも、無理やりパフォーマンスを求めるとか、実装を優先するとかではなく、サイエンス的に優等生的な実装を目指しているような気がします。
参考)PEAR2
PHP: pear:rfc:pear2_class_naming
http://wiki.php.net/pear/rfc/pear2_naming_standards]

*1:あれ?ハンガリアン使ってたっけ?