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 {
敘述;
}
Personal notes ~
2007年5月11日 星期五
訂閱:
張貼留言 (Atom)
追蹤網誌清單
IT Info
Reference
標籤
- 代討論
- 防盜
- 常規表示式(regular expression)
- 進度
- 電子地圖
- 網站搬家程式
- Ajax Library
- Application of Perl
- C#
- CakePHP
- Coding Convention
- CSS
- Data injection
- DBI
- Debug
- Diff Browser
- Effect : Slideshow
- Engineering - Desing Pattern
- framework
- Framework - CodeIgniter
- Functions
- Imgick
- jquery
- JS Framework
- JS Library
- JS Object : Statement
- Linux
- Mapping Other Language
- Need to Turnning
- NetBeans
- OOAD-MVC
- open source suit software
- Performance
- Perl Installation
- PHP Class
- PHP rpc Java
- PHP to PERL
- Presentation
- RIA
- Serculity
- Service
- SQL injection
- Tips
- Tools
- Variable
- Versus
- WCF
- WebSite Thumbnail
- XML
- ZK Ajax
網誌存檔
-
▼
2007
(80)
-
▼
5月
(51)
- check class
- exec() check
- POST 方法上傳
- foreach
- Group , Join
- fetch query result
- kkwi
- 20070522 Mysql Driver 編碼問題
- ignore_user_abort() ...
- 換掉別人的網站首頁
- php
- CakePHP使用手冊-命名規則?
- CakePHP使用手冊-暫存機制(Cache)
- CakePHP使用手冊-安全性元件(Security Component)
- CakePHP使用手冊-要求處理元件
- CakePHP使用手冊-資料過濾
- CakePHP使用手冊-Session元件(Session Component)
- CakePHP使用手冊-權限控制表(ACL)
- CakePHP使用手冊-插件(Plugin)
- CakePHP使用手冊-資料檢驗
- CakePHP使用手冊-全域函式與常數
- CakePHP使用手冊-AJAX Helper
- CakePHP使用手冊-Helper
- CakePHP使用手冊-HTML Helper
- CakePHP使用手冊-View
- CakePHP使用手冊-Component
- CakePHP使用手冊-何謂model?(二)
- CakePHP使用手冊-Controller
- CakePHP使用手冊-何謂model?(一)
- CakePHP使用手冊-Scaffold(鷹架)
- CakePHP使用手冊-安裝
- CakePHP使用手冊-設定
- CakePHP使用手冊-基礎觀念
- CakePHP使用手冊-簡介
- CakePHP使用手冊-序
- CakePHP 譯序
- Data injection
- SQL injection
- Java 程式碼慣例 -- 第十一章 程式碼範例
- Java 程式碼慣例 -- 第十章 程式習慣
- Java 程式碼慣例 -- 第九章 命名慣例
- Java 程式碼慣例 -- 第八章 空白
- Java 程式碼慣例 -- 第七章 敘述
- Java 程式碼慣例 -- 第六章 宣告
- Java 程式碼慣例 -- 第四章 縮排
- Java 程式碼慣例 -- 第五章 註解
- Java 程式碼慣例 -- 第二章 檔案名稱
- Java 程式碼慣例 -- 第三章 檔案組織
- Java 程式碼慣例-導論
- CakePHP Basic Setup and Views
- 用PHP函数解决SQL injection
-
▼
5月
(51)
沒有留言:
張貼留言