PHPで欠かせないPSR-2と命名規則の最速チェックリスト

コーディングをしているとき、ある一定のルールが

ないと可読性の低いコードになります。

また、チームで開発するときも好き勝手に変数を決めていると

メンバーに多大な迷惑をかけてしまう恐れがあります。

そこで、今回はコードを書くにあたって心得ておきたい

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の詳細はこちら


命名規則

命名規則とは、変数名をつける際のルールです。

開発組織ごとに命名規則が定められている場合もあり、

そこはうまく対応する必要がありそうです。

しかし、多くの命名規則には共通する点が存在するのでまとめてみたいと

思います。


<命名規則を導入するメリット>

命名規則を使う理由としては

以下が挙げられます。


  1. 名前の付け方を考える必要がなくなる

  2. コードの可読性を高める

  3. 変数からコード内容を理解しやすくする

  4. 名前の増殖を抑えられる

です。

これらを導入することでプログラムが大きい時や、開発期間が長い時に

スムーズに対応できます。


<命名規則最速チェックリスト>

・長い名前は付けない

 名前は長くても20文字程度に収まるようにする。

・理解できる名前にする

 短ければ良いというのではなく、意味が通じる名前にする。

・慣例としてあるものはその慣例に従う

 慣例として以下のものが挙げられます。

 1.クラス名は先頭大文字で以降は小文字(単語の区切りは大文字にする)

 2.変数は小文字で始め以降も小文字(単語の区切りは大文字にする)

 3.メソッド名も変数名と同様

 4.定数は全て大文字で表す(単語区切りは"_"を入れる)

 5.識別子の対称性も意識して命名する

命名するポイントとしては、汎用的な名前は避け、具体的な名前をつけると

可読性が上がります。その関数や変数がどのような仕事をするのか常に考えて

命名したいところです。

いずれにせよ、開発メンバーが読みやすいような命名を心がけたいですね!


参考文献

PSR-2 コーディングガイド(日本語)

PSR-1 と PSR-2 を5分でざっくり理解する

今さら聞けない、変数や関数の命名規則と、まず覚えるべき英単語200