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