一、基本要求
1、程式結構清析,簡單易懂,單個函式的程式行數不得超過100行。
2、打算幹什麼,要簡單,直接了當,程式碼精簡,避免垃圾程式。
3 、儘量使用標準庫函式和公共函式。
4、不要隨意定義全域性變數,儘量使用區域性變數。
5、使用括號以避免二義性。
二、可讀性要求
1、可讀性第一,效率第二。
2、保持註釋與程式碼完全一致。
3、每個源程式檔案,都有檔案頭說明,說明規格見規範。
4、每個函式,都有函式頭說明,說明規格見規範。
5、主要變數(結構、聯合、類或物件)定義或引用時,註釋能反映其含義。
6、常量定義(DEFINE)有相應說明。
7、處理過程的每個階段都有相關注釋說明。
8、在典型演算法前都有註釋。
9、利用縮排來顯示程式的邏輯結構,縮排量一致並以Tab鍵為單位,定義Tab為 6個位元組。
10、迴圈、分支層次不要超過五層。
11、註釋可以與語句在同一行,也可以在上行。
12、空行和空白字元也是一種特殊註釋。
13、一目瞭然的語句不加註釋。
14、 註釋的作用範圍可以為:定義、引用、條件分支以及一段程式碼。
15、註釋行數(不包括程式頭和函式頭說明部份)應占總行數的 1/5 到 1/3 。
三、結構化要求
1、禁止出現兩條等價的支路。
2、禁止GOTO語句。
3、用 IF 語句來強調只執行兩組語句中的一組。禁止 ELSE GOTO 和 ELSE RETURN。
4、用 CASE 實現多路分支。
5、避免從迴圈引出多個出口。
6、函式只有一個出口。
7、不使用條件賦值語句。
8、避免不必要的分支。
9、不要輕易用條件分支去替換邏輯表示式。
四、正確性與容錯性要求
1、程式首先是正確,其次是優美
2、無法證明你的程式沒有錯誤,因此在編寫完一段程式後,應先回頭檢查。
3、改一個錯誤時可能產生新的錯誤,因此在修改前首先考慮對其它程式的影響。
4、所有變數在呼叫前必須被初始化。
5、對所有的使用者輸入,必須進行合法性檢查。
6、不要比較浮點數的相等,
如: 10.0 * 0.1 == 1.0 , 不可靠
7、程式與環境或狀態發生關係時,必須主動去處理發生的意外事件,如檔案能否邏輯鎖定、印表機是否聯機等。
8、單元測試也是程式設計的一部份,提交聯調測試的程式必須透過單元測試。
五、可重用性要求
1、 重複使用的完成相對獨立功能的演算法或程式碼應抽象為公共控制元件或類。
2、公共控制元件或類應考慮OO思想,減少外界聯絡,考慮獨立性或封裝性。5.3 公共控制元件或類應建立使用模板。
一、基本要求
1、程式結構清析,簡單易懂,單個函式的程式行數不得超過100行。
2、打算幹什麼,要簡單,直接了當,程式碼精簡,避免垃圾程式。
3 、儘量使用標準庫函式和公共函式。
4、不要隨意定義全域性變數,儘量使用區域性變數。
5、使用括號以避免二義性。
二、可讀性要求
1、可讀性第一,效率第二。
2、保持註釋與程式碼完全一致。
3、每個源程式檔案,都有檔案頭說明,說明規格見規範。
4、每個函式,都有函式頭說明,說明規格見規範。
5、主要變數(結構、聯合、類或物件)定義或引用時,註釋能反映其含義。
6、常量定義(DEFINE)有相應說明。
7、處理過程的每個階段都有相關注釋說明。
8、在典型演算法前都有註釋。
9、利用縮排來顯示程式的邏輯結構,縮排量一致並以Tab鍵為單位,定義Tab為 6個位元組。
10、迴圈、分支層次不要超過五層。
11、註釋可以與語句在同一行,也可以在上行。
12、空行和空白字元也是一種特殊註釋。
13、一目瞭然的語句不加註釋。
14、 註釋的作用範圍可以為:定義、引用、條件分支以及一段程式碼。
15、註釋行數(不包括程式頭和函式頭說明部份)應占總行數的 1/5 到 1/3 。
三、結構化要求
1、禁止出現兩條等價的支路。
2、禁止GOTO語句。
3、用 IF 語句來強調只執行兩組語句中的一組。禁止 ELSE GOTO 和 ELSE RETURN。
4、用 CASE 實現多路分支。
5、避免從迴圈引出多個出口。
6、函式只有一個出口。
7、不使用條件賦值語句。
8、避免不必要的分支。
9、不要輕易用條件分支去替換邏輯表示式。
四、正確性與容錯性要求
1、程式首先是正確,其次是優美
2、無法證明你的程式沒有錯誤,因此在編寫完一段程式後,應先回頭檢查。
3、改一個錯誤時可能產生新的錯誤,因此在修改前首先考慮對其它程式的影響。
4、所有變數在呼叫前必須被初始化。
5、對所有的使用者輸入,必須進行合法性檢查。
6、不要比較浮點數的相等,
如: 10.0 * 0.1 == 1.0 , 不可靠
7、程式與環境或狀態發生關係時,必須主動去處理發生的意外事件,如檔案能否邏輯鎖定、印表機是否聯機等。
8、單元測試也是程式設計的一部份,提交聯調測試的程式必須透過單元測試。
五、可重用性要求
1、 重複使用的完成相對獨立功能的演算法或程式碼應抽象為公共控制元件或類。
2、公共控制元件或類應考慮OO思想,減少外界聯絡,考慮獨立性或封裝性。5.3 公共控制元件或類應建立使用模板。