2007年5月11日 星期五

Java 程式碼慣例 -- 第七章 敘述

7. 敘述

7.1 簡單敘述

每一行應該最多都只有一個敘述。例如:

argv++; // 正確
argc++; // 正確
argv++; argc--; // 避免!



7.2 複合敘述

複合敘述是被括號 "{ 敘述s }" 包住的一堆敘述。參考下一小節中的例子。

* 被包住的敘述應該比複合敘述還多縮排一個層級。
* 左大括號應該在複合敘述開始那行的結尾;右大括號應該自成一行,而且應該
縮排到複合敘述起始的位置。
* 所有的敘述外面都要有大括號,即使在它們是如 if-else 或是 for 敘述的控
制架構的單行敘述時也是一樣。這會讓要加上敘述時會更容易,而不會因為忘
了加上大括號而導致意料之外的錯誤。



7.3 return 敘述

一個帶著值的 return 敘述不應該使用小括號,除非它們以某種方式讓傳回的值
更加的明顯。例如:

return;

return myDisk.size();

return ( size ? size : defaultSize );



7.4 if, if-else, if else-if else 敘述

這 if-else 類的敘述應該有下列形式:

if (條件) {
敘述;
}

if (條件) {
敘述;
} else {
敘述;
}

if (條件) {
敘述;
} else if (條件) {
敘述;
} else {
敘述;
}

注意:總是在 if 敘述上使用大括號 {}。避免下列有錯誤傾向的形式:

if (條件) // 避免! 這個忽略了大括號 {} !
敘述;



7.5 for 敘述

for 敘述應該有下列形式:

for( 初始化; 條件; 更新 ) {
敘述;
}

而空的 for 敘述 (所有的工作都在 初始化,條件式,和更新的子句中完成的)
應該有下列形式:

for ( 初始化; 條件; 更新);

當在初始化或更新子句的 for 敘述中使用逗號操作子時,應該避免超過三個變
數的複雜使用。如果有需要,在 for 迴圈之前 (對初始化子句) 或是在迴圈
的結尾 (對更新子句) 使用分開的敘述。



7.6 while 敘述

while 敘述應該有下列的形式:

while (條件) {
敘述;
}

空的 while 敘述應該有下列形式:

while (條件);



7.7 do-while 敘述

do-while 敘述應該有下列形式:

do {
敘述;
} while (條件);



7.8 switch 敘述

switch 敘述應該有下列形式:

switch (條件) {
case ABC:
敘述;
/* 往下穿過 */
case DEF:
敘述;
break;

case XYZ:
敘述;
break;

default:
敘述;
break;
}

每次有往下穿過的 case 時(不包含 break 敘述者),在 一般會有敘述的地方
增加一個註解。這個以上面程式範例中的 /* 往下穿過 */ 註解來代表。

每一個 switch 敘述都應該包含 default case。這 default case 的 break
是多餘的,但是他可以防止如果之後加入了另一個 case 時,可能會造成的往
下穿過的錯誤。



7.9 try-catch 敘述

try-catch 敘述應該有下列形式:

try {
敘述;
} catch {ExceptionClass e} {
敘述;
}

try-catch 敘述也可能跟著不管 try 區塊有沒有完全成功都會執行的 finally 敘述
而有如下列所示的形式。

try {
敘述;
} catch (ExceptionClass e) {
敘述;
} finally {
敘述;
}

沒有留言:

網誌存檔

關於我自己

Aspire freedom , Hope to do Soming make self complete ~