首頁(yè)技術(shù)文章正文

PHP程序員的文件是怎么命名的?

更新時(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)詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個(gè)字母使用小寫。如:

$repeatCount = '';

$delUserSql = '';

(2)變量命名如要用縮寫,只能使用項(xiàng)目中有據(jù)可查的英文縮寫方式,例如可以使用$data而不可使用$data1、$data2這樣容易產(chǎn)生混淆的形式,應(yīng)當(dāng)使用$articleData、$userData這樣一目了然容易理解的形式。

(3)除非特殊情況,一般不推薦使用下劃線。如:$repeat_count = '';(不推薦)

二、數(shù)組變量命名

使用英文名詞、動(dòng)詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個(gè)字母使用小寫,不使用下劃線,以字符串 Array 為后綴,例: $scopeArray = array(); $bookIdArray = array();

提示:

除非特殊情況,一般不推薦使用下劃線。如:$book_id_array = array();(不推薦)

三、全局變量

全局變量應(yīng)該帶前綴‘g’, 使用大寫字母作為詞的分隔,其他的字母均使用小寫。理由:知道一個(gè)變量的作用域是非常重要的。 例如: global $gLog;

四、全局常量命名

使用英文名詞、動(dòng)詞,所有字母都使用大寫,以下劃線'_'分隔每個(gè)單詞。這是命名全局常量的傳統(tǒng)。例如:

define( 'WEBSITE_NAME', '名稱' );

define( 'WEBSITE_URL', '地址' )

define("A_GLOBAL_CONSTANT", "Hello world!");

五、靜態(tài)變量命名

第一種寫法:靜態(tài)變量應(yīng)該帶前綴‘s’,使用大寫字母作為詞的分隔,其他的字母均使用小寫。理由:知道一個(gè)變量的作用域是非常重要的。 例如:

function test(){

static $sStatus = 0;

}

第二種寫法:使用英文名詞、動(dòng)詞,以大寫字母作為單詞的分隔,其他的字母均使用小寫,單詞的首個(gè)字母使用小寫,不使用下劃線,以字符串 Static 為后綴, 例如:

function getDirectoryFile(){

static $fileArrayStatic = '';

static $fileNumStatic = '';

...

}

function getDirectoryFile(){

static $fileArrayStatic = '';

static $fileNumStatic = '';

...

}

六、函數(shù)命名

函數(shù)名使用小寫字母、下劃線組合。如:get_client_ip().函數(shù)名字采用C語(yǔ)言的慣例,所有的字母使用小寫字母,使用'_'分割單詞。 這樣可以更易于區(qū)分相關(guān)聯(lián)的類名。

注意點(diǎn)1:不要把小括號(hào)和函數(shù)名緊貼在一起。 要用空格隔開它們。 如果小括號(hào)緊貼著函數(shù)名,二者很容易被看成是一體的。

例如:

function some_bloody_function () {

...

}

注意點(diǎn)2:除非必要,不要在Return返回語(yǔ)句中使用小括號(hào)。

七、類的命名規(guī)范

(1). 使用英文名詞,類文件采用駝峰式寫法。以大寫字母作為詞的分隔,其他的字母均使用小寫,名詞的首個(gè)字母使用大寫,不使用下劃線。

(2). 使用完整單詞,避免縮寫詞(除非該縮寫詞被更廣泛使用,像URL,HTML)

(3). 在為類命名前首先要知道它是什么。如果通過(guò)類名提供的線索,您還是想不起這個(gè)類是什么的話,那么您的設(shè)計(jì)是做得不夠好。

(4). 超過(guò)三個(gè)單詞組成的混合類名是容易造成系統(tǒng)各個(gè)實(shí)體間的混淆,請(qǐng)重新設(shè)計(jì)類名。

例如:

class UserAccount{

...

}

class PaintingOrder{

...

}

八、類文件命名規(guī)范

類的文件名與類的名字保持一致,包括大小寫以“ .class.php”作為文件的后綴。 如:MyDb類保存的文件名稱是MyDb.class.php,MySql類保存的文件名稱是MySql.class.php,Page類保存的文件名是Page.class.php,UserName類保存的文件名稱是:UserName.class.php 。

注意:正是由于類的文件名要與類的名字保持一致,所以一個(gè)php文件只能包含一個(gè)類定義編碼。

九、類屬性命名規(guī)范

使用英文名詞、動(dòng)詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,對(duì)于類屬性為某個(gè)對(duì)象變量,則以字符串 Object 為后綴,普通屬性命名規(guī)范同變量的命名規(guī)范。如果是用于存儲(chǔ)對(duì)象的屬性,使用1個(gè)下劃線開始。例如:

public $tableName = '';

private $databaseObject = '';

public $_username = NULL;

十、類方法命名規(guī)范

類中的方法可自行定義如下兩種,

1)全部使用小寫用下劃線作為詞的分隔 (get_file_content),

2)采用駝峰法,即以大寫字母作為詞的分隔,其他的字母均使用小寫,

通常每個(gè)方法只執(zhí)行一項(xiàng)邏輯動(dòng)作事務(wù),所以對(duì)它們的命名應(yīng)該清楚的說(shuō)明它們是做什么的:

如用checkEmailErrors()代替errorCheck(),用dumpDataToFile()代替dataFile()。這么做使功能和數(shù)據(jù)成為更可區(qū)分的物體。

十一、類方法參數(shù)命名

方法的參數(shù)的命名規(guī)范同變量的命名規(guī)范。

十二、類的實(shí)例對(duì)象的命名(對(duì)象變量命名)

類的實(shí)例對(duì)象的命名規(guī)范同變量的命名規(guī)范,只不過(guò)實(shí)例對(duì)象是以1個(gè)下劃線開頭的,同類中存儲(chǔ)對(duì)象的屬性的規(guī)范一樣。

這樣,無(wú)論是在類的內(nèi)部,還是類的外部,只要是以下劃線開頭的變量,那就是對(duì)象名。(jQuery對(duì)象的命名規(guī)范與此一致。國(guó)外通用。) 例:

$_name = new UserName();

有的公司要求是 "變量名" + "_obj",如:$name_obj;

而有的公司則使用類名稱為變量前綴,所有字母都使用大寫,以字符串_OBJECT 為后綴,例如:

$USERNAME_OBJECT = new UserName();$PAINTINGORDER_OBJECT = new PaintingOrder();

十三、數(shù)據(jù)庫(kù)命名

數(shù)據(jù)庫(kù)表名所有字母都使用小寫,使用'_'作為每個(gè)詞的分界,數(shù)據(jù)字段命名也與數(shù)據(jù)表命名相同.

例如:

[hide]

cz_goods_attr(商品屬性表)

cz_goods_type(商品類別表)

十四、模板文件名命名

所有字母都使用小寫,使用'_'作為每個(gè)詞的分界,這樣做的好處是方便平移到其他的系統(tǒng)平臺(tái)中,不會(huì)因?yàn)榇笮懚l(fā)生問題.

例如:

brand_add.html (品牌增加顯示模版文件)

brand_list.html(品牌展示模版文件)

十五、文件名的命名規(guī)范

文件名使用英文名詞、英文動(dòng)詞,以及下劃線,所有字母都使用小寫字母。例如: index.php、index_ad.html。


本文版權(quán)歸黑馬程序員PHP學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!

作者:黑馬程序員PHP培訓(xùn)學(xué)院

首發(fā):http://php.itheima.com/

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!