プログラミング初心者必見!
コーディングルールって人によってまちまちだったりして、時として「うわ!このソース読みづらっ!」ってなったりする。
そういう事もあり、コーディング規約に関して勉強中。
今参考にしているのが現場でも採用されている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;
}
命名規則
命名規則とは、変数名をつける際のルールです。
開発組織ごとに命名規則が定められている場合もあり、
そこはうまく対応する必要がありそうです。
しかし、多くの命名規則には共通する点が存在するのでまとめてみたいと
思います。
<命名規則を導入するメリット>
命名規則を使う理由としては以下が挙げられます。
- 名前の付け方を考える必要がなくなる
- コードの可読性を高める
- 変数からコード内容を理解しやすくする
- 名前の増殖を抑えられる
です。
これらを導入することでプログラムが大きい時や、開発期間が長い時に
スムーズに対応できます。
<命名規則最速チェックリスト>
長い名前は付けない
名前は長くても20文字程度に収まるようにする。
・理解できる名前にする
短ければ良いというのではなく、意味が通じる名前にする。
・慣例としてあるものはその慣例に従う
慣例として以下のものが挙げられます。
1.クラス名は先頭大文字で以降は小文字(単語の区切りは大文字にする)
2.変数は小文字で始め以降も小文字(単語の区切りは大文字にする)
3.メソッド名も変数名と同様
4.定数は全て大文字で表す(単語区切りは"_"を入れる)
5.識別子の対称性も意識して命名する
命名するポイントとしては、汎用的な名前は避け、具体的な名前をつけると
可読性が上がります。その関数や変数がどのような仕事をするのか常に考えて
命名したいところです。
いずれにせよ、開発メンバーが読みやすいような命名を心がけたいですね!