読者です 読者をやめる 読者になる 読者になる

PHPでの可読性について調べてみたらPSRに辿り着いた( ・`ω・´)

PSRとは?

Proposing a Standards Recommendation (標準勧告提案)
PSR-0

オートロードの為のファイル名とクラス名の規約

PSR-1

共有コードの高レベルな連携性を目的にした規約

PSR-2

標準化されたコードを目指すスタイルガイド

に分かれているそうです。

PHP Framework Interop Group が策定したコーディング規約みたいです。

今までは、PEAR , Zend , Symfony , 俺俺
など様々あったようですが
PHP Framework Interop Groupには
それらの有名な(俺俺は除く)メンバーの方々が参加されているようですので
良い感じにまとまってるみたいです。

最近のPHP系のFrameworkのコーディング規約と
同じような感じでしたので
親しみやすいため、率先して参考にしていきたいと思います。

PSR0で名前空間についてふれていますが、
PHPは基本的にグローバルクラスを作成しますので
名前には注意が必要ですね。
しっかり規約を読んできます。

私的に気に入ったポイントは

クラスの開き括弧は次の行に記述しなければなりません。
また閉じ括弧は本文最後の次の行に記述しなければなりません。
class Sample {

}

じゃなくて

class Sample
{

}
メソッドの開き括弧は次の行に記述しなければなりません。
また閉じ括弧は本文最後の次の行に記述しなければなりません。
public function sample() {

}

じゃなくて

punlic function sample()
{

}

でも if文は

if ($a === $b) {
    bar();
} elseif ($a > $b) {
    $foo->bar($arg1);
} else {
    BazClass::bar($arg2, $arg3);
}

と書くようです。

最近はどこかのドキュメントで見た(幻覚かも、、)

if ($a == $b)
{
    bar();
}

みたいな書き方をしてしまっていたので
注意したいと思います。

括弧の前後にスペースを入れないもいいですね。

class ClassName
{
    public function foorBarBaz($arg1, $arg2, $arg3 = [])
    {
    
    }
}

入れたほうが見やすいという意見を見かけますが、
私は無駄に入れたくないです。