簡(jiǎn)簡(jiǎn)單單掌握PHP命名規(guī)則
初學(xué)PHP時(shí),你可能會(huì)遇到PHP命名問(wèn)題,這里將介紹PHP命名規(guī)則,希望可以幫助大家,細(xì)心的朋友可以記下來(lái)留著作為以后的學(xué)習(xí)資料。
1. PHP命名規(guī)則合適的命名
命名是程序規(guī)劃的核心。古人相信只要知道一個(gè)人真正的名字就會(huì)獲得凌駕于那個(gè)人之上的不可思議的力量。只要你給事物想到正確的名字,就會(huì)給你以及后來(lái)的人帶來(lái)比代碼更強(qiáng)的力量。別笑! 名字就是事物在它所處的生態(tài)環(huán)境中一個(gè)長(zhǎng)久而深遠(yuǎn)的結(jié)果??偟膩?lái)說(shuō),只有了解系統(tǒng)的程序員才能為系統(tǒng)取出最合適的名字。如果所有的命名都與其自然相適合,則關(guān)系清晰,含義可以推導(dǎo)得出,一般人的推想也能在意料之中。
如果你發(fā)覺(jué)你的命名只有少量能和其對(duì)應(yīng)事物相匹配的話(huà), ***還是重新好好再看看你的設(shè)計(jì)吧。
2. PHP命名規(guī)則類(lèi)命名
在為類(lèi)(class )命名前首先要知道它是什么。如果通過(guò)類(lèi)名的提供的線(xiàn)索,你還是想不起這個(gè)類(lèi)是什么的話(huà),那么你的設(shè)計(jì)就還做的不夠好。 超過(guò)三個(gè)詞組成的混合名是容易造成系統(tǒng)各個(gè)實(shí)體間的混淆,再看看你的設(shè)計(jì),嘗試使用(CRC Session card)看看該命名所對(duì)應(yīng)的實(shí)體是否有著那么多的功用。 對(duì)于派生類(lèi)的命名應(yīng)該避免帶其父類(lèi)名的誘惑,一個(gè)類(lèi)的名字只與它自身有關(guān),和它的父類(lèi)叫什么無(wú)關(guān)。 有時(shí)后綴名是有用的,例如:如果你的系統(tǒng)使用了代理(agent ),那么就把某個(gè)部件命名為“下載代理”(DownloadAgent)用以真正的傳送信息。
3. PHP命名規(guī)則方法和函數(shù)命名
通常每個(gè)方法和函數(shù)都是執(zhí)行一個(gè)動(dòng)作的,所以對(duì)它們的命名應(yīng)該清楚的說(shuō)明它們是做什么的:用CheckForErrors()代替 ErrorCheck(),用DumpDataToFile()代替DataFile()。這么做也可以使功能和數(shù)據(jù)成為更可區(qū)分的物體。
有時(shí)后綴名是有用的:
◆Max - 含義為某實(shí)體所能賦予的***值。
◆Cnt - 一個(gè)運(yùn)行中的計(jì)數(shù)變量的當(dāng)前值。
◆Key - 鍵值。
例如:RetryMax 表示最多重試次數(shù),RetryCnt 表示當(dāng)前重試次數(shù)。
有時(shí)前綴名是有用的:
◆Is - 含義為問(wèn)一個(gè)關(guān)于某樣事物的問(wèn)題。無(wú)論何時(shí),當(dāng)人們看到Is就會(huì)知道這是一個(gè)問(wèn)題。
◆Get - 含義為取得一個(gè)數(shù)值。
◆Set - 含義為設(shè)定一個(gè)數(shù)值
4. PHP命名規(guī)則縮寫(xiě)詞不要全部使用大寫(xiě)字母
#T#無(wú)論如何,當(dāng)遇到以下情況,你可以用首字母大寫(xiě)其余字母小寫(xiě)來(lái)代替全部使用大寫(xiě)字母的方法來(lái)表示縮寫(xiě)詞。 使用: GetHtmlStatistic. 不使用: GetHTMLStatistic. 理由 :當(dāng)命名含有縮略詞時(shí),人們似乎有著非常不同的直覺(jué)。統(tǒng)一規(guī)定是***,這樣一來(lái),命名的含義就完全可以預(yù)知了。 舉個(gè)NetworkABCKey的例子,注意C是應(yīng)該是ABC里面的C還是key里面的C,這個(gè)是很令人費(fèi)解的。有些人不在意這些,其他人卻很討厭這樣。所以你會(huì)在不同的代碼里看到不同的規(guī)則,使得你不知道怎么去叫它。
例如 :
- class FluidOz // 不要寫(xiě)成 FluidOZ
- class GetHtmlStatistic // 不要寫(xiě)成 GetHTMLStatistic