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 = []) { } }
入れたほうが見やすいという意見を見かけますが、
私は無駄に入れたくないです。