PHP 代碼規範,php代碼規範
命名規範 Θ 類檔案都以.class.php為尾碼,使用駝峰法命名,並且首字母大寫,例如 Pay.class.php;Θ 類名和目錄_檔案名稱一致。例如:類名Zend_Autoloader的目錄是Zend/Autoloader.class.php;Θ 函數的命名使用小寫字母和底線的方式。例如:get_client_ip;Θ 方法的命名使用駝峰法,首字母小寫或者使用底線"_",例如listComment(),_getResource(),通常底線開頭的方法屬於私人方法;Θ 屬性的命名使用駝峰法,首字母小寫或者使用底線"_",如$username,$_instance,通常底線開頭的屬性屬於私人屬性;Θ 常量以大寫字母和底線"_"命名,如"HOME_URL"; 常用名詞 1>list名詞(單數),如listApple,一看我們就知道讀取蘋果列表,我們沒有必要寫成getApples或者listApples或readApples——因為get我們規定一般用於讀取單個資料,如getApple.listApples不加s我們也知道是取蘋果列表(保證盡量縮短變數命名); 2>get名詞(單數); 3>名詞Total,表示某個東西的總數。如expenseTotal; 4>found:表示某個值是否已經找到; 5>uccess或ok:一項操作是否成功; 6>done:某個工程是否完成; 7>error:是否有錯誤發生; 8>result:返回的結果 代碼重構 1.函數或者方法體內的代碼盡量控制在一個螢幕內。 2.類中不使用的方法隨機刪除。 3.修改別人的類中方法,要簽名。 4.在每個模組內寫個readme檔案(用於比較複雜業務的說明或代碼說明)。 5.盡量讓每個類做自己的事,每個函數做一件事。
常用代碼 用&&或||簡化操作 簡化前:
$a=1;$b = 0;if(isset($a)){ $b=1; print($b."\n");} if($b!=0){ print($b."\n");} |
簡化後:
$a=1;$b = 0;isset($a) && ($b=1) && print($b."\n");$b == 0 || print($b."\n"); |
明顯代碼看起來更加整齊,更加簡單!
判斷"=="時,我們有可能會把"=="寫成"=",這樣的bug我們很難調試圖來。所以,把常量放在前面,編譯器就能判斷出來。 之前:
$a = 1;if($a = 1){ echo '$a == 1';} |
之後:
$a = 1;if(1 = $a){ echo '$a == 1';} |
明顯,常量放在前面的話,編譯器就能判斷錯誤。
正規格式:
$a = 1;if(1 == $a){ echo '$a == 1';} |
尋找表法 之前:
/*錯誤碼: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 \n"; |
之後:
/*錯誤碼: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 \n"; |
明顯代碼更加凝練,更加清楚,更易懂,速度也更快!
http://www.bkjia.com/PHPjc/1107664.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1107664.htmlTechArticlePHP 代碼規範,php代碼規範 命名規範 類檔案都以.class.php為尾碼,使用駝峰法命名,並且首字母大寫,例如 Pay.class.php; 類名和目錄_檔案名稱一...