[php]PHPコード仕様
2777 ワード
1.命名規範
Θ クラスファイルは.class.phpを接尾辞とし、アルパカ法を使用して名前を付け、Pay.class.phpなどの頭文字を大文字にします.
Θ クラス名とディレクトリ_ファイル名が一致しています.例:クラス名Zend_AutoloaderのディレクトリはZend/Autoloader.class.phpです.
Θ 関数の名前には、小文字と下線が使用されます.例:get_client_ip;
Θ メソッドのネーミングには、アルパカ法、頭文字小文字、またはlistComment()などの下線「」を使用します.getResource()は、通常、下線の先頭のメソッドがプライベートメソッドに属します.
Θ 属性の命名には、アルパカ法、頭文字小文字、または$username、$_などの下線「」を使用します.Instanceは、通常、下線の先頭の属性がプライベート属性に属します.
Θ 定数は、「HOME_URL」などの大文字と下線「」で命名されます.
2.常用名詞
1>list名詞(単数)listAppleのように、見るとアップルのリストを読み取ることがわかります.getApplesやlistApplesやreadApplesと書く必要はありません.getはgetApple.listApplesがsを加えないなど、単一のデータを読み取るために一般的に使われていることを規定しています.アップルのリストを取ることも知っています(変数の命名をできるだけ短縮することを保証します).
2>get名詞(単数);
3>名詞Totalは、あるものの総数を表す.例えばexpenseTotal;
4>found:値が見つかったかどうかを示します.
5>successまたはok:操作が成功したかどうか.
6>done:ある工事が完成したかどうか;
7>error:エラーが発生したかどうか;
8>result:返された結果
3.コード再構築
1>関数またはメソッド内のコードは、できるだけ1つの画面内に制御します.
2> クラスで使用されていないメソッドをランダムに削除します.
3> 他人のクラスのメソッドを修正し、署名します.
4> 各モジュールにreadmeファイル(複雑なビジネスの説明またはコードの説明)を書きます.
5> できるだけ各クラスに自分のことをさせ、関数ごとに一つのことをさせます.
4.共通コード
1>
操作を簡略化
明らかにコードはもっと整然としていて、もっと簡単に見えます!
2>
「===」を判断すると、「===」を「=」と書く可能性があります.このようなバグでは、図をデバッグするのは難しいです.だから、定数を前に置くと、コンパイラが判断します.
明らかに、定数を前に置くと、コンパイラは間違いを判断することができます.
3>
ルックアップテーブルほう
明らかにコードはもっと洗練されていて、もっとはっきりしていて、もっと分かりやすくて、スピードももっと速いです!
Θ クラスファイルは.class.phpを接尾辞とし、アルパカ法を使用して名前を付け、Pay.class.phpなどの頭文字を大文字にします.
Θ クラス名とディレクトリ_ファイル名が一致しています.例:クラス名Zend_AutoloaderのディレクトリはZend/Autoloader.class.phpです.
Θ 関数の名前には、小文字と下線が使用されます.例:get_client_ip;
Θ メソッドのネーミングには、アルパカ法、頭文字小文字、またはlistComment()などの下線「」を使用します.getResource()は、通常、下線の先頭のメソッドがプライベートメソッドに属します.
Θ 属性の命名には、アルパカ法、頭文字小文字、または$username、$_などの下線「」を使用します.Instanceは、通常、下線の先頭の属性がプライベート属性に属します.
Θ 定数は、「HOME_URL」などの大文字と下線「」で命名されます.
2.常用名詞
1>list名詞(単数)listAppleのように、見るとアップルのリストを読み取ることがわかります.getApplesやlistApplesやreadApplesと書く必要はありません.getはgetApple.listApplesがsを加えないなど、単一のデータを読み取るために一般的に使われていることを規定しています.アップルのリストを取ることも知っています(変数の命名をできるだけ短縮することを保証します).
2>get名詞(単数);
3>名詞Totalは、あるものの総数を表す.例えばexpenseTotal;
4>found:値が見つかったかどうかを示します.
5>successまたはok:操作が成功したかどうか.
6>done:ある工事が完成したかどうか;
7>error:エラーが発生したかどうか;
8>result:返された結果
3.コード再構築
1>関数またはメソッド内のコードは、できるだけ1つの画面内に制御します.
2> クラスで使用されていないメソッドをランダムに削除します.
3> 他人のクラスのメソッドを修正し、署名します.
4> 各モジュールにreadmeファイル(複雑なビジネスの説明またはコードの説明)を書きます.
5> できるだけ各クラスに自分のことをさせ、関数ごとに一つのことをさせます.
4.共通コード
1>
操作を簡略化
明らかにコードはもっと整然としていて、もっと簡単に見えます!
// :
<?php
$a=1;
$b = 0;
if(isset($a)){
$b=1;
print($b."
");
}
if($b!=0){
print($b."
");
}
// :
<?php
$a=1;
$b = 0;
isset($a) && ($b=1) && print($b."
");
$b == 0 || print($b."
");
2>
「===」を判断すると、「===」を「=」と書く可能性があります.このようなバグでは、図をデバッグするのは難しいです.だから、定数を前に置くと、コンパイラが判断します.
明らかに、定数を前に置くと、コンパイラは間違いを判断することができます.
// :
<?php
$a = 1;
if($a = 1){
echo '$a == 1';
}
// :
<?php
$a = 1;
if(1 = $a){
echo '$a == 1';
}
3>
ルックアップテーブルほう
明らかにコードはもっと洗練されていて、もっとはっきりしていて、もっと分かりやすくて、スピードももっと速いです!
// :
<?php
/* :4,5,7,8 1, 1,3,6 2*/
$error = 4;
$state = 0;
if($error == 4 || $error == 5 || $error == 7 || $error == 8){
$state = 1;
}
if($error == 1 || $error == 3 || $error == 6){
$state = 2;
}
echo "$state
";
// :
<?php
/* :4,5,7,8 1, 1,3,6 2*/
$error = 4;
$state = 0;
$arr = array(4 => 1, 5 => 1, 7 => 1, 8 => 1, 1 => 2, 3 => 2, 6 => 2);
isset($arr[$error]) && ($state = $arr[$error]);
echo "$state
";