「Php/コーディング規約」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→規約指摘フォーマット(コードレビュー)) |
(→psrコーディング規約) |
||
(同じ利用者による、間の16版が非表示) | |||
行6: | 行6: | ||
PHP_CodeSnifferをインストールして以下コマンドで確認可能 | PHP_CodeSnifferをインストールして以下コマンドで確認可能 | ||
$ phpcs --standard=PSR2 Sample.php | $ phpcs --standard=PSR2 Sample.php | ||
+ | |||
+ | [[Php/codesniffer]] [ショートカット] | ||
+ | |||
+ | ===psr12=== | ||
+ | 参考:https://zenn.dev/aki_artisan/articles/psr12-translation-ja | ||
+ | |||
+ | 参考:https://sync-g.co.jp/sjobs/php-coding-convention/ | ||
+ | |||
+ | <pre> | ||
+ | 全てのPHPファイルは行末をUnix LF(ラインフィード)とし、最終行は空白行にする | ||
+ | PHPのみ記述されたファイルでは、終了タグ(?>)を省略する | ||
+ | 行の長さに厳しい制限を設けない | ||
+ | 1行に複数のステートメントを書かない | ||
+ | インデントにタブは使用せず、4つのスペースとする | ||
+ | PHP定数であるtrue、false、およびnullは小文字で記述する | ||
+ | </pre> | ||
==pearコーディング規約== | ==pearコーディング規約== | ||
行29: | 行45: | ||
最後に括弧をつける | 最後に括弧をつける | ||
$c = new class1(); | $c = new class1(); | ||
+ | |||
+ | ==判定系== | ||
+ | 真偽値を返す関数のネーミング | ||
+ | https://qiita.com/yskszk/items/5a7f99c974773f03a82a | ||
==規約指摘フォーマット(コードレビュー)== | ==規約指摘フォーマット(コードレビュー)== | ||
行35: | 行55: | ||
*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 | ||
*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にチェックを付ければ良い) |
2024年12月16日 (月) 23:36時点における最新版
目次
psrコーディング規約
いろんなプロジェクトの共通部分をまとめたコーディング規約
http://9ensan.com/blog/programming/php/php-psr-coding-standards/
PHP_CodeSnifferをインストールして以下コマンドで確認可能
$ phpcs --standard=PSR2 Sample.php
Php/codesniffer [ショートカット]
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にチェックを付ければ良い)