- C語言基礎之編碼規范 推薦度:
- 相關推薦
C語言的編碼規范
C 語言可以像匯編語言一樣對位、字節和地址進行操作,而這三者是計算機最基本的工作單元。下面是小編分享的C語言的編碼規范,一起來看看吧。
1. 基本要求
1.1 程序結構清析,簡單易懂,單個函數的程序行數不得超過100行。
1.2 打算干什么,要簡單,直接了當,代碼精簡,避免垃圾程序。
1.3 盡量使用標準庫函數和公共函數。
1.4 不要隨意定義全局變量,盡量使用局部變量。
1.5 使用括號以避免二義性。
2.可讀性要求
2.1 可讀性第一,效率第二。
2.2 保持注釋與代碼完全一致。
2.3 每個源程序文件,都有文件頭說明,說明規格見規范。
2.4 每個函數,都有函數頭說明,說明規格見規范。
2.5 主要變量(結構、聯合、類或對象)定義或引用時,注釋能反映其含義。
2.7 常量定義(DEFINE)有相應說明。
2.8 處理過程的每個階段都有相關注釋說明。
2.9 在典型算法前都有注釋。
2.10 利用縮進來顯示程序的邏輯結構,縮進量一致并以Tab鍵為單位,定義Tab為 6個字節。
2.11 循環、分支層次不要超過五層。
2.12 注釋可以與語句在同一行,也可以在上行。
2.13 空行和空白字符也是一種特殊注釋。
2.14 一目了然的語句不加注釋。
2.15 注釋的作用范圍可以為:定義、引用、條件分支以及一段代碼。
2.16 注釋行數(不包括程序頭和函數頭說明部份)應占總行數的 1/5 到 1/3 。
3. 結構化要求
3.1 禁止出現兩條等價的支路。
3.2 禁止GOTO語句。
3.3 用 IF 語句來強調只執行兩組語句中的一組。禁止 ELSE GOTO 和 ELSE RETURN。
3.4 用 CASE 實現多路分支。
3.5 避免從循環引出多個出口。
3.6 函數只有一個出口。
3.7 不使用條件賦值語句。
3.8 避免不必要的分支。
3.9 不要輕易用條件分支去替換邏輯表達式。
4. 正確性與容錯性要求
4.1 程序首先是正確,其次是優美
4.2 無法證明你的程序沒有錯誤,因此在編寫完一段程序后,應先回頭檢查。
4.3 改一個錯誤時可能產生新的錯誤,因此在修改前首先考慮對其它程序的影響。
4.4 所有變量在調用前必須被初始化。
4.5 對所有的用戶輸入,必須進行合法性檢查。
4.6 不要比較浮點數的相等,如: 10.0 * 0.1 == 1.0 , 不可靠
4.7 程序與環境或狀態發生 關系時,必須主動去處理發生的意外事件,如文件能否邏輯鎖定、打印機是否聯機等。
4.8 單元測試也是編程的一部份,提交聯調測試的程序必須通過單元測試。
5. 可重用性要求
5.1 重復使用的完成相對獨立功能的算法或代碼應抽象為公共控件或類。
5.2 公共控件或類應考慮OO思想,減少外界聯系,考慮獨立性或封裝性。
5.3 公共控件或類應建立使用模板。
C語言的編碼規范
1 排版規則
1) 程序應采用縮進風格編寫,每層縮進使用一個制表位(TAB),類定義、方法都應頂格書寫;
2) 源程序建議使用英文書寫,盡量不含有中文。每行不超過80字符。對于較長的語句(>80字符)要分成多行書寫,長表達式要在低優先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進行適當的縮進,使排版整齊,語句可讀;循環、判斷等語句中若有較長的表達式或語句,則要進行適應的劃分;
3) 左花括號要另起一行,不能跟在上一行的行末;
4) 一個變量定義占一行,一個語句占一行;
5) 對獨立的程序塊之間、變量說明之后必須加空行;
6) 在結構成員賦值等情況,等號對齊,最少留一個空格;
7) 若函數或過程中的參數較長,則要進行適當的劃分。
8) 形參的排序風格:
最常使用的參數放在第一位;
輸入參數列表應放在輸出參數列表的左邊;
將通用的參數放在特殊的參數的左邊。
2 命名規范
2.1 應用程序的命名
“系統簡稱”+模塊名稱
2.2 子模塊的命名
每個子模塊的名字應該由描述模塊功能的1-3以單詞組成。每個單詞的首字母應大寫。在這些單詞中可以使用一些較通用的縮寫。
2.3 變量的命名
變量的命名的基本原則是使得變量的含義能夠從名字中直接理解。可以用多個英文單詞拼寫而成,每個英文單詞的首字母要大寫,其中英文單詞有縮寫的可用縮寫;變量的前綴表示該變量的類型;對于作用域跨越10行以上的變量名稱不能少于4個字符,除循環變量,累加變量外不得使用I、j、k等名稱的變量。變量分為取全局變量和局部變量,對于全局變量以加前綴“g_”來區分。
使用有意義的英語單詞,使用大小寫分隔,每個單詞的第一個字母為大寫
考慮到習慣性和簡潔性,對于按常規使用的局部變量允許采用極短的名字,如用n、i作為循環變量,p、q作為指針等。另外,要注意的是:全局變量在程序中不要定義太多,能用局部變量的就用局部變量。如果要使用相關的變量,建議采用類的方式或者結構的方式存放,以減少具體變量的個數。
2.4 常量的命名
常量所有的字母均為大寫。并且單詞之間使用下劃線”_”隔開。
2.5 函數/過程的命名
函數/過程名稱應該盡量使用能夠表達函數功能的英文名稱,函數名稱中應該禁止使用如同function1,function2等含義不清的名稱。單詞間應該使用大小寫分隔。全局函數/過程名稱以“g_”前綴開始。
2.6 接口命名
接口名稱要以大寫字母開頭。如果接口包含多個單詞,每個單詞的首字母大寫,其他字母小寫,如果,這些單詞是縮略語(例如XML),也要首字母大寫,其他字母小寫(寫為Xml)。
2.7 類的命名
類名稱要以大寫字母開頭;
類名稱如果包含多個單詞,每個單詞的首字母要大寫,其他字母小寫;如果這些單詞是縮略語(例如XML),也要首字母大寫,其他字母小寫(寫作Xml);
類名稱應該是一個名詞或名詞短語;
類成員變量的命名規則與上述規則相同,但是要以“m_”開始,表示其為成員變量(Member);
類名稱不能出現下劃線。
2.8 方法的命名
方法名稱以小寫字母開頭。
方法名稱如果包含多個單詞,除了第一個單詞外,每個單詞的首字母大寫,其它字
母小寫。如果這些單詞是縮略語(例如XML),也要首字母大寫,其它字母小寫(寫作Xml)。
方法名稱應該是一個動詞或動名詞短語,意思是“完成什么功能”,“執行什么操作”。
2.9 數據庫的命名
2.9.1 表:
采用“模塊名簡稱+前綴+’_’+表名”的命名規則。表名以能理解該表的內容為原則,
可由中文表示,也可由代表此表含義的英文字母組成;首字母大寫;前綴代表此表類別。
2.9.2 視圖:
采用“模塊名+’_’+視圖名+’視圖’”的命名規則,通常由8個以內漢字組成。
2.9.3 存儲過程:
采用“Proc+模塊名+’_’+存儲過程名”的命名規則。
2.9.4 觸發器:
采用“模塊名+’’+觸發類型+’’+表名”的命名規則,如果有多個觸發類型,則可以疊加在一起。
2.9.5 字段:
字段的命名以能理解該字段的含義為原則,通常由多個英文單詞加前綴拼寫而成,而組成字段名稱的首字母應大寫。單詞有縮寫的可用縮寫。字段的前綴表示該字段的數據類型,其取值詳見“數據類型”描述。原則上,字段的命名長度不超過18字節;描述字段的中文名稱,用數據庫創建工具設計數據庫時,需要輸入。
3 參數的約定
3.1 輸入參數的約定
有些函數有輸入參數,這些參數指由函數外部(調用者)輸入,并在函數內部使用。在函數業務流程說明后跟輸入參數說明區,用“輸入參數”或“Input Parameters”標記。在參數名列表中的每個參數后增加該參數的注釋。
3.2 輸出參數的約定
有些函數有輸出參數,這些參數指由函數外部(調用者)定義,在函數內部使用并返回給調用者的參數。在輸入參數說明區后跟輸出參數說明區,用“輸出參數”或 “Output Parameters”標記。在參數名列表中的每個參數后增加該參數的注釋。另外輸出參數一般以指針或應用輸出。
3.3 返回值的約定
每個函數均有返回值,除非操作非常簡單。對于有不同狀態的返回值,建議用long型的返回值,0為成功。對于出錯類返回值,在同一層次的模塊,用統一代碼表示。在輸出參數說明區后跟返回值說明區,用“返回值”或“Return values”標記。返回值說明,要說明各種不同類型返回值以及它們的含義。
【C語言的編碼規范】相關文章:
C語言基礎之編碼規范11-29
C語言的編碼編譯12-04
C語言考點精選03-18
C語言試題03-28
C語言的應用12-12
C語言的結構12-12
什么是C語言03-19
C語言試題(精選)12-05
C語言和C++的分別11-26