コーディングをしているとき、ある一定のルールが
ないと可読性の低いコードになります。
また、チームで開発するときも好き勝手に変数を決めていると
メンバーに多大な迷惑をかけてしまう恐れがあります。
そこで、今回はコードを書くにあたって心得ておきたい
PSR-2と命名規則についてまとめたいと思います。
##PSR-2
チームで開発するにあたり、コーディング規約に従ったコードを
書くことで、コードを読む際の認識のずれを抑えることができます!
そこで、PHPにはPSR(PHP Standards Recommendations)というPHP標準勧告が
あります。PSRには、PSR-0、PSR-1、PSR-2、PSR-4などの種類が
ありますが、PSR-2がPHPの最もスタンダードなコーディング規約になりつつあります。
PSR-2はPSR-1を拡張したコーディング規約です。
###<PSR-2最速チェックリスト>
1. 予約後は小文字で書く
$a = true;
2. スペース4つでインデントとする
public function getValue()
3. ファイルの最後に空行を入れる
}
4. namespace、use、classの間には空白行を入れる
namespace Aaa¥Bbb;
use Aaa¥Ccc;
class Ddd
5. クラス、メソッドの開き括弧は次の行に記述
class Foo
{
public function get()
{
6. ifの開き括弧は同じ行に配置
if ($aaa) {
7. クロージャの開き括弧は同じ行に記述(閉じ括弧は最後の行に記述)
$f = function() {
return 1;
};
8. caseで意図的に処理をスルーする場合は「// no break」等の記述が必須
switch ($expr) {
case 1:
echo 'A';
// no break
case 2:
case 3:
echo 'B';
break;
}
以上のようなルールがPSR-2にはあります。
普段からコーディングをするときに注意したいところです。
もっと細かいPSR-2の詳細はこちら
##命名規則
命名規則とは、変数名をつける際のルールです。
開発組織ごとに命名規則が定められている場合もあり、
そこはうまく対応する必要がありそうです。
しかし、多くの命名規則には共通する点が存在するのでまとめてみたいと
思います。
###<命名規則を導入するメリット>
命名規則を使う理由としては
以下が挙げられます。
- 名前の付け方を考える必要がなくなる
- コードの可読性を高める
- 変数からコード内容を理解しやすくする
- 名前の増殖を抑えられる
です。
これらを導入することでプログラムが大きい時や、開発期間が長い時に
スムーズに対応できます。
###<命名規則最速チェックリスト>
・長い名前は付けない
名前は長くても20文字程度に収まるようにする。
・理解できる名前にする
短ければ良いというのではなく、意味が通じる名前にする。
・慣例としてあるものはその慣例に従う
慣例として以下のものが挙げられます。
1.クラス名は先頭大文字で以降は小文字(単語の区切りは大文字にする)
2.変数は小文字で始め以降も小文字(単語の区切りは大文字にする)
3.メソッド名も変数名と同様
4.定数は全て大文字で表す(単語区切りは"_"を入れる)
5.識別子の対称性も意識して命名する
命名するポイントとしては、汎用的な名前は避け、具体的な名前をつけると
可読性が上がります。その関数や変数がどのような仕事をするのか常に考えて
命名したいところです。
いずれにせよ、開発メンバーが読みやすいような命名を心がけたいですね!
##参考文献
・PSR-2 コーディングガイド(日本語)
・PSR-1 と PSR-2 を5分でざっくり理解する
・今さら聞けない、変数や関数の命名規則と、まず覚えるべき英単語200