前提
背景
事象(やりたいこと)
- 可読性の高いコーディング能力を身に着けたい
困ったこと
何を基準にコードを書けばいいかわからない
現場に入れば、「コーディング規約」なるものがあるので、それに準拠する。
とはいえ、その規約も何を基準に作られているんだ?会社ごとの過去の実績?と思って、先輩に聞いてみた
結論
内容
全部を網羅するのは現実的に難しいので、駆け出しエンジニアである自分にとって
特に気を付けなくてはいけない規約をピックアップ
PSR-1
概要(Overview)
Files MUST use only <?php and <?= tags.
<?php
か<?=
を使用しなくてはいけない」
Class names MUST be declared in StudlyCaps.
- クラス名は
StudlyCaps
記法で書く
Class constants MUST be declared in all upper case with underscore separators.
- クラス定数は全て大文字、かつ文字と文字の間はアンダースコアで分ける
Method names MUST be declared in camelCase.
- メソッド名は全て
camelCase
で書く
ファイル(Files)
A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both.
- 副作用を起こさない
The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file.
※副作用:クラス、関数、定数とは直接関係ない、かつファイルを取り込んだだけで、処理を実行してしまう記述が処理されること
PSRの例に倣うと非推奨は以下の記法。
<?php // side effect: change ini settings ini_set('error_reporting', E_ALL); // side effect: loads a file include "file.php"; // side effect: generates output echo "<html>\n"; // declaration function foo() { // function body }
ここでいう「ファイルを取り込んだだけで、処理を実行してしまう記述」というのは以下のコード。 クラスや関数が呼び出されなくても各々が勝手に処理を実行します。
ini_set('error_reporting', E_ALL); include "file.php"; echo "<html>\n";
所感
非常に当たり前のことであるが、実現場ではどんなコーディング運用がされるかわからないので、大切だと思った
特にクラス名、メソッド名、クラス定数の記法はプログラミングを学びたての人はばらつきがちだと思うので、大事。 かつ、自分はこのように規約で決まっていること自体知らなかったので、自分のコードに自信を持てる要素が増えた点は嬉しい。