所有的源文件都應(yīng)該在開頭有一個c語言風(fēng)格的注釋,其中列出類名、功能、版本信息、日期、作者和版權(quán)聲明:
/*
* 類名
* 功能
* 版本
* 日期
* 作者
* 版權(quán)
*/
如果對文件進(jìn)行了修改,應(yīng)該在文件頭中說明修改目的、修改日期、修改人,并變更文件的版本信息;如果修改問文件的一部分,則在文件中進(jìn)行注釋即可,并且標(biāo)識出修改部分的起止位置
……
/*
* 修改目的
* 修改日期
* 修改人
* 版本
*/
……
修改起始
……
……
修改結(jié)束
……
3.2 引入語句
引入語句應(yīng)該位于文件的頭部,并在引入時說明引入文件的作用。例如:
//數(shù)據(jù)庫操作類
require( “db.php” );
3.3 類的聲明
1 類文檔注釋(/**……*/) 該注釋中所需包含的信息,參見"文檔注釋"
2 類的聲明
3 類實現(xiàn)的注釋(/*……*/)如果有必要的話 該注釋應(yīng)包含任何有關(guān)整個類的信息,而這些信息又不適合作為類文檔注釋。
4 類的(靜態(tài))變量 首先是類的公共變量,隨后是保護(hù)變量,再后是包一級別的變量(沒有訪問修飾符,access modifier),最后是私有變量。
5 實例變量 首先是公共級別的,隨后是保護(hù)級別的,再后是包一級別的(沒有訪問修飾符),最后是私有級別的。
6 構(gòu)造器
7 方法 這些方法應(yīng)該按功能,而非作用域或訪問權(quán)限,分組。例如,一個私有的類方法可以置于兩個公有的實例方法之間。其目的是為了更便于閱讀和理解代碼
3.4 縮進(jìn)排版
4個空格常被作為縮進(jìn)排版的一個單位。縮進(jìn)的確切解釋并未詳細(xì)指定(空格 vs. 制表符)。一個制表符等于8個空格(而非4個),所以在某些編輯器中,需要特別指定一下制表符的長度為4(ultraedit),而在某些編輯器中,會將制表符轉(zhuǎn)換為空格
3.5 行長度
盡量避免一行的長度超過80個字符,因為很多終端和工具不能很好處理之。
3.6 換行
當(dāng)一個表達(dá)式無法容納在一行內(nèi)時,可以依據(jù)如下一般規(guī)則斷開之:
- 在一個逗號后面斷開
- 在一個操作符前面斷開
- 寧可選擇較高級別(higher-level)的斷開,而非較低級別(lower-level)的斷開
- 新的一行應(yīng)該與上一行同一級別表達(dá)式的開頭處對齊
- 如果以上規(guī)則導(dǎo)致你的代碼混亂或者使你的代碼都堆擠在右邊,那就代之以縮進(jìn)8個空格。
以下是斷開方法調(diào)用的一些例子:
somemethod(longexpression1, longexpression2, longexpression3,
longexpression4, longexpression5);
$var = somemethod1(longexpression1,
somemethod2(longexpression2,
longexpression3));
以下是兩個斷開算術(shù)表達(dá)式的例子。前者更好,因為斷開處位于括號表達(dá)式的外邊,這是個較高級別的斷開。
$longname1 = $longname2 * ($longname3 + $longname4 - $longname5)
+ 4 * $longname6; //使用這種縮進(jìn)方式
$longname1 = $longname2 * ($longname3 + $longname4
- $longname5) + 4 * $longname6; //避免這種
以下是兩個縮進(jìn)方法聲明的例子。前者是常規(guī)情形。后者若使用常規(guī)的縮進(jìn)方式將會使第二行和第三行移得很靠右,所以代之以縮進(jìn)8個空格
//傳統(tǒng)的縮進(jìn)方式
function somemethod($anarg, $anotherarg, $yetanotherarg,
$andstillanother) {
...
}
//利用8個連續(xù)空格避免過渡的縮進(jìn)
function horkinglongmethodname($anarg,
$anotherarg, $yetanotherarg,
$andstillanother) {
...
}
if語句的換行通常使用8個空格的規(guī)則,因為常規(guī)縮進(jìn)(4個空格)會使語句體看起來比較費勁。比如:
//不要使用這種縮進(jìn)方式
if ((condition1 && condition2)
|| (condition3 && condition4)
||!(condition5 && condition6)) { //錯誤的換行方式,沒有進(jìn)行縮進(jìn)
dosomethingaboutit(); //條件與此句對齊,造成閱讀程序時很可能漏過此句
}
//應(yīng)該使用這種縮進(jìn)方式
if ((condition1 && condition2)
|| (condition3 && condition4)
||!(condition5 && condition6)) {
dosomethingaboutit();
}
//或者這樣的縮進(jìn)方式也可以
if ((condition1 && condition2) || (condition3 && condition4)
||!(condition5 && condition6)) {
dosomethingaboutit();
}
這里有三種可行的方法用于處理三元運算表達(dá)式:
$alpha = (alongbooleanexpression) ? beta : gamma;
$alpha = (alongbooleanexpression) ? beta
: gamma;
$alpha = (alongbooleanexpression)
? beta
: gamma;
新聞熱點
疑難解答