「Php/コーディング規約」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→psr12) |
(→psr12) |
||
行8: | 行8: | ||
===psr12=== | ===psr12=== | ||
+ | 参考:https://zenn.dev/aki_artisan/articles/psr12-translation-ja | ||
+ | |||
参考:https://sync-g.co.jp/sjobs/php-coding-convention/ | 参考:https://sync-g.co.jp/sjobs/php-coding-convention/ | ||
− | |||
<pre> | <pre> | ||
全てのPHPファイルは行末をUnix LF(ラインフィード)とし、最終行は空白行にする | 全てのPHPファイルは行末をUnix LF(ラインフィード)とし、最終行は空白行にする |
2024年12月16日 (月) 23:24時点における版
目次
psrコーディング規約
いろんなプロジェクトの共通部分をまとめたコーディング規約
http://9ensan.com/blog/programming/php/php-psr-coding-standards/
PHP_CodeSnifferをインストールして以下コマンドで確認可能
$ phpcs --standard=PSR2 Sample.php
psr12
参考:https://zenn.dev/aki_artisan/articles/psr12-translation-ja
参考:https://sync-g.co.jp/sjobs/php-coding-convention/
全てのPHPファイルは行末をUnix LF(ラインフィード)とし、最終行は空白行にする PHPのみ記述されたファイルでは、終了タグ(?>)を省略する 行の長さに厳しい制限を設けない 1行に複数のステートメントを書かない インデントにタブは使用せず、4つのスペースとする PHP定数であるtrue、false、およびnullは小文字で記述する
pearコーディング規約
http://phpspot.net/php/man/pear/standards.html
zendコーディング規約
http://framework.zend.com/manual/ja/coding-standard.html
コーディング規約忘れがちまとめ抜粋
それぞれ以下の通りコーディングすることが好ましい。
foreach ($arr as $key => $value) { } class Class1 { public function Class1() { return 1; } } define('BASE', (dirname(__FILE__)); require_once 'ActionClass.php';
最後に括弧をつける
$c = new class1();
判定系
真偽値を返す関数のネーミング https://qiita.com/yskszk/items/5a7f99c974773f03a82a
規約指摘フォーマット(コードレビュー)
- 120文字(psr2 120文字ソフトリミット)超えてますが、そのままいきます? 参考:http://www.php-fig.org/psr/psr-2/ 2.3. Lines
- カンマの後にspaceがありませんでした。 参考:http://www.php-fig.org/psr/psr-2/ 4.4. Method Arguments
- ifの後と"){"の間はspace入れたほうが良いかもです。参考:http://www.php-fig.org/psr/psr-2/ 5.1. if, elseif, else
- ifの後と"){"の間はspace入れたほうが良いかもです。参考:http://www.php-fig.org/psr/psr-2/ 5.1. if, elseif, else
- 変数に入れずそのままreturnするほうが良いと思います。参考:http://stackoverflow.com/questions/31733811/local-variables-before-return-statements-does-it-matter
- propertyで宣言されたものとは違うもの?違うものであれば少し名前を変えたほうが視認性が良いです。参考:https://www.securecoding.cert.org/confluence/display/java/DCL51-J.+Do+not+shadow+or+obscure+identifiers+in+subscopes
- コードからすぐにわかることをコメントに書かない 参考:http://yusuke-ujitoko.hatenablog.com/entry/2016/10/31/234307
- 不要な一時変数の削除 参考:https://donow.jp/skillup/?p=1680
- ネストを浅くする(if を入れ子にしない→理由:コードを読む人は条件を精神的にスタックにPUSHしないといけない) 参考:https://qiita.com/AKB428/items/20e81ccc8d9998b5535d
- No newline at end of file 最終行に一行、空行を加える(inteliJ系だとEditor/General/Other/Ensure line feed at file end on Saveにチェックを付ければ良い)