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