亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪(fǎng)問(wèn)板塊 發(fā)新帖
查看: 1872 | 回復(fù): 1
打印 上一主題 下一主題

PHP 代碼規(guī)范 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-03-15 16:49 |只看該作者 |倒序?yàn)g覽
PHP 代碼規(guī)范







命名規(guī)范

Θ 類(lèi)文件都以.class.php為后綴,使用駝峰法命名,并且首字母大寫(xiě),例如 Pay.class.php;
Θ 類(lèi)名和目錄_文件名一致。例如:類(lèi)名Zend_Autoloader的目錄是Zend/Autoloader.class.php;
Θ 函數(shù)的命名使用小寫(xiě)字母和下劃線(xiàn)的方式。例如:get_client_ip;
Θ 方法的命名使用駝峰法,首字母小寫(xiě)或者使用下劃線(xiàn)"_",例如listComment(),_getResource(),通常下劃線(xiàn)開(kāi)頭的方法屬于私有方法;
Θ 屬性的命名使用駝峰法,首字母小寫(xiě)或者使用下劃線(xiàn)"_",如$username,$_instance,通常下劃線(xiàn)開(kāi)頭的屬性屬于私有屬性;
Θ 常量以大寫(xiě)字母和下劃線(xiàn)"_"命名,如"HOME_URL";


常用名詞 1>list名詞(單數(shù)),如listApple,一看我們就知道讀取蘋(píng)果列表,我們沒(méi)有必要寫(xiě)成getApples或者listApples或readApples——因?yàn)間et我們規(guī)定一般用于讀取單個(gè)數(shù)據(jù),如getApple.listApples不加s我們也知道是取蘋(píng)果列表(保證盡量縮短變量命名);
2>get名詞(單數(shù));
3>名詞Total,表示某個(gè)東西的總數(shù)。如expenseTotal;
4>found:表示某個(gè)值是否已經(jīng)找到;
5>uccess或ok:一項(xiàng)操作是否成功;
6>done:某個(gè)工程是否完成;
7>error:是否有錯(cuò)誤發(fā)生;
8>result:返回的結(jié)果

代碼重構(gòu)

1.函數(shù)或者方法體內(nèi)的代碼盡量控制在一個(gè)屏幕內(nèi)。
2.類(lèi)中不使用的方法隨機(jī)刪除。
3.修改別人的類(lèi)中方法,要簽名。
4.在每個(gè)模塊內(nèi)寫(xiě)個(gè)readme文件(用于比較復(fù)雜業(yè)務(wù)的說(shuō)明或代碼說(shuō)明)。
5.盡量讓每個(gè)類(lèi)做自己的事,每個(gè)函數(shù)做一件事。


常用代碼

用&&或||簡(jiǎn)化操作
簡(jiǎn)化前:
  1. ?$a=1;
  2. $b = 0;
  3. if(isset($a)){
  4.     $b=1;
  5.     print($b."\n");
  6. }   
  7.   
  8. if($b!=0){
  9.     print($b."\n");
  10. }
復(fù)制代碼
簡(jiǎn)化后:
  1. ?$a=1;
  2. $b = 0;
  3. isset($a) && ($b=1) && print($b."\n");
  4. $b == 0 || print($b."\n");
復(fù)制代碼
明顯代碼看起來(lái)更加整齊,更加簡(jiǎn)單!



判斷"=="時(shí),我們有可能會(huì)把"=="寫(xiě)成"=",這樣的bug我們很難調(diào)試圖來(lái)。所以,把常量放在前面,編譯器就能判斷出來(lái)。
之前:
  1. ?$a = 1;
  2. if($a = 1){
  3.     echo '$a == 1';
  4. }
復(fù)制代碼
之后:
  1. ?$a = 1;
  2. if(1 = $a){
  3.     echo '$a == 1';
  4. }
復(fù)制代碼
明顯,常量放在前面的話(huà),編譯器就能判斷錯(cuò)誤。

正規(guī)格式:
  1. ?$a = 1;
  2. if(1 == $a){
  3.     echo '$a == 1';
  4. }
復(fù)制代碼
查找表法
之前:
  1. ?/*錯(cuò)誤碼:4,5,7,8的時(shí)候返回狀態(tài)1,錯(cuò)誤碼是1,3,6返回狀態(tài)2*/
  2. $error = 4;
  3. $state = 0;
  4. if($error == 4 || $error == 5 || $error == 7 || $error == 8){  
  5.     $state = 1;
  6. }
  7.   
  8. if($error == 1 || $error == 3 || $error == 6){  
  9.     $state = 2;
  10. }
  11. echo "$state \n";
復(fù)制代碼
之后:
  1. ?/*錯(cuò)誤碼:4,5,7,8的時(shí)候返回狀態(tài)1,錯(cuò)誤碼是1,3,6返回狀態(tài)2*/
  2. $error = 4;
  3. $state = 0;
  4.   
  5. $arr = array(4 => 1, 5 => 1, 7 => 1, 8 => 1, 1 => 2, 3 => 2, 6 => 2);
  6. isset($arr[$error]) && ($state = $arr[$error]);
  7.   
  8. echo "$state \n";
復(fù)制代碼
明顯代碼更加凝練,更加清楚,更易懂,速度也更快!

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-03-15 16:49 |只看該作者
謝謝分享
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP