コードを見やすくするためにPHPのコーディングスタイルもPEAR標準に従って読みやすくしていきたい。
よく読んでみるとPEAR標準コーディング規約は結構細かく書いてある。viやemacsでの設定も書いてあるので便利だ。大まかにまとめるとこんな感じ。- インデントはスペース4個(タブは駄目)
- 半角75-85 文字ごとに改行することを推奨。(必須ではない)
- if, for, while, switch等の制御構造と括弧の間はスペース1個。
- 制御構造の中括弧は条件と同じ行。(間はスペース1個)
- 関数コールでの関数名と括弧の間にはスペース無し。
- 代入のイコールの左右はスペースを入れる。(沢山入れて見栄えを揃えても良い)
- 関数定義の中括弧は次の行の関数名と同じ位置。(one true braceと言うらしい)
- デフォルト値付き引数は引数リストの終わりに置くこと。(なるべく右側ってこと)
- Perl/Shell形式のコメントは使ってはいけない。
- include~およびrequire~は命令であり関数ではないので括弧は付けない。
- PHPショートタグは使ってはいけない。(<?のこと)
- 文字エンコードは ISO-8859-1 を使用しなければならない。
- 改行はLF。
- PHP終了タグ(?>)の後は改行を一つ入れる。
- 変数展開や特殊文字を含まない文字列はシングルクォートを使う。(via koyhogeさん)
大体こんな感じのコードになるようです。
<?php
require_once 'Foo/Bar.php';
$foo = foo();
function connect(&$dsn, $persistent = false)
{
if (is_array($dsn)) {
$dsninfo = &$dsn;
} else {
$dsninfo = DB::parseDSN($dsn);
}
if (!$dsninfo || !$dsninfo['phptype']) {
return $this->raiseError();
}
return true;
}
?>
意外と「うわっ、勘弁してくれよ!」っていう感想の人が多いんじゃないでしょうか。おれもそうですが、頑張って自分の体を合わせて行きたい!(ドM)
PEAR :: Manual :: コードの提供コードの提供にあたっての要求事項
コード自体およびパッケージの著者に対して、 いくつかの要求事項があります。
- 標準コーディング規約への合致
新しいパッケージの作成か、既存のパッケージへの付加かに係わらず、 PEAR にコードを提供する場合は、 標準コーディング規約 に合致している必要があります。 標準コーディング規約というものが良いものかどうかについては 多くの議論がありましたが、絶対に必要なものであるとの決定に達しました。 さらに議論する意義はありません。