更新時間:2018年03月16日14時05分 來源:傳智播客 瀏覽次數(shù):
編碼規(guī)則采用常用規(guī)則就可,具體說哪一個好,哪一個不好也是不科學(xué)的,每種風(fēng)格都有各自的好處,這得看系統(tǒng),代碼怎樣容易閱讀這才是王道。
最基本要求
以標(biāo)準(zhǔn)計算機英文為藍本,杜絕一切拼音、或拼音英文混雜的命名方式。英語不好者,請借助網(wǎng)絡(luò)上的翻譯工具。
一、變量命名
(1)使用英文名詞、動詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫。如:
$repeatCount = '';
$delUserSql = '';
(2)變量命名如要用縮寫,只能使用項目中有據(jù)可查的英文縮寫方式,例如可以使用$data而不可使用$data1、$data2這樣容易產(chǎn)生混淆的形式,應(yīng)當(dāng)使用$articleData、$userData這樣一目了然容易理解的形式。
(3)除非特殊情況,一般不推薦使用下劃線。如:$repeat_count = '';(不推薦)
二、數(shù)組變量命名
使用英文名詞、動詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫,不使用下劃線,以字符串 Array 為后綴,例: $scopeArray = array(); $bookIdArray = array();
提示:
除非特殊情況,一般不推薦使用下劃線。如:$book_id_array = array();(不推薦)
三、全局變量
全局變量應(yīng)該帶前綴‘g’, 使用大寫字母作為詞的分隔,其他的字母均使用小寫。理由:知道一個變量的作用域是非常重要的。 例如: global $gLog;
四、全局常量命名
使用英文名詞、動詞,所有字母都使用大寫,以下劃線'_'分隔每個單詞。這是命名全局常量的傳統(tǒng)。例如:
define( 'WEBSITE_NAME', '名稱' );
define( 'WEBSITE_URL', '地址' )
define("A_GLOBAL_CONSTANT", "Hello world!");
五、靜態(tài)變量命名
第一種寫法:靜態(tài)變量應(yīng)該帶前綴‘s’,使用大寫字母作為詞的分隔,其他的字母均使用小寫。理由:知道一個變量的作用域是非常重要的。 例如:
function test(){
static $sStatus = 0;
}
第二種寫法:使用英文名詞、動詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫,不使用下劃線,以字符串 Static 為后綴, 例如:
function getDirectoryFile(){
static $fileArrayStatic = '';
static $fileNumStatic = '';
...
}
function getDirectoryFile(){
static $fileArrayStatic = '';
static $fileNumStatic = '';
...
}
六、函數(shù)命名
函數(shù)名使用小寫字母、下劃線組合。如:get_client_ip().函數(shù)名字采用C語言的慣例,所有的字母使用小寫字母,使用'_'分割單詞。 這樣可以更易于區(qū)分相關(guān)聯(lián)的類名。
注意點1:不要把小括號和函數(shù)名緊貼在一起。 要用空格隔開它們。 如果小括號緊貼著函數(shù)名,二者很容易被看成是一體的。
例如:
function some_bloody_function () {
...
}
注意點2:除非必要,不要在Return返回語句中使用小括號。
七、類的命名規(guī)范
(1). 使用英文名詞,類文件采用駝峰式寫法。以大寫字母作為詞的分隔,其他的字母均使用小寫,名詞的首個字母使用大寫,不使用下劃線。
(2). 使用完整單詞,避免縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML)
(3). 在為類命名前首先要知道它是什么。如果通過類名提供的線索,您還是想不起這個類是什么的話,那么您的設(shè)計是做得不夠好。
(4). 超過三個單詞組成的混合類名是容易造成系統(tǒng)各個實體間的混淆,請重新設(shè)計類名。
例如:
class UserAccount{
...
}
class PaintingOrder{
...
}
八、類文件命名規(guī)范
類的文件名與類的名字保持一致,包括大小寫以“ .class.php”作為文件的后綴。 如:MyDb類保存的文件名稱是MyDb.class.php,MySql類保存的文件名稱是MySql.class.php,Page類保存的文件名是Page.class.php,UserName類保存的文件名稱是:UserName.class.php 。
注意:正是由于類的文件名要與類的名字保持一致,所以一個php文件只能包含一個類定義編碼。
九、類屬性命名規(guī)范
使用英文名詞、動詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,對于類屬性為某個對象變量,則以字符串 Object 為后綴,普通屬性命名規(guī)范同變量的命名規(guī)范。如果是用于存儲對象的屬性,使用1個下劃線開始。例如:
public $tableName = '';
private $databaseObject = '';
public $_username = NULL;
十、類方法命名規(guī)范
類中的方法可自行定義如下兩種,
1)全部使用小寫用下劃線作為詞的分隔 (get_file_content),
2)采用駝峰法,即以大寫字母作為詞的分隔,其他的字母均使用小寫,
通常每個方法只執(zhí)行一項邏輯動作事務(wù),所以對它們的命名應(yīng)該清楚的說明它們是做什么的:
如用checkEmailErrors()代替errorCheck(),用dumpDataToFile()代替dataFile()。這么做使功能和數(shù)據(jù)成為更可區(qū)分的物體。
十一、類方法參數(shù)命名
方法的參數(shù)的命名規(guī)范同變量的命名規(guī)范。
十二、類的實例對象的命名(對象變量命名)
類的實例對象的命名規(guī)范同變量的命名規(guī)范,只不過實例對象是以1個下劃線開頭的,同類中存儲對象的屬性的規(guī)范一樣。
這樣,無論是在類的內(nèi)部,還是類的外部,只要是以下劃線開頭的變量,那就是對象名。(jQuery對象的命名規(guī)范與此一致。國外通用。) 例:
$_name = new UserName();
有的公司要求是 "變量名" + "_obj",如:$name_obj;
而有的公司則使用類名稱為變量前綴,所有字母都使用大寫,以字符串_OBJECT 為后綴,例如:
$USERNAME_OBJECT = new UserName();$PAINTINGORDER_OBJECT = new PaintingOrder();
十三、數(shù)據(jù)庫命名
數(shù)據(jù)庫表名所有字母都使用小寫,使用'_'作為每個詞的分界,數(shù)據(jù)字段命名也與數(shù)據(jù)表命名相同.
例如:
[hide]
cz_goods_attr(商品屬性表)
cz_goods_type(商品類別表)
十四、模板文件名命名
所有字母都使用小寫,使用'_'作為每個詞的分界,這樣做的好處是方便平移到其他的系統(tǒng)平臺中,不會因為大小寫而發(fā)生問題.
例如:
brand_add.html (品牌增加顯示模版文件)
brand_list.html(品牌展示模版文件)
十五、文件名的命名規(guī)范
文件名使用英文名詞、英文動詞,以及下劃線,所有字母都使用小寫字母。例如: index.php、index_ad.html。
本文版權(quán)歸傳智播客PHP學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客PHP培訓(xùn)學(xué)院
首發(fā):http://php.itcast.cn/