80字符)要分成多行書寫,長表達(dá)式要在低優(yōu)先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進(jìn)行適當(dāng)?shù)目s進(jìn),使排版整齊,語句可讀;循環(huán)、判斷等語句中若有較長的表達(dá)式或語句,則要進(jìn)行適應(yīng)的劃分。" />
0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解析C語言7大編碼規(guī)范

C語言編程學(xué)習(xí)基地 ? 2018-02-09 15:38 ? 次閱讀

C語言編碼規(guī)范

1 排版規(guī)則

1) 程序應(yīng)采用縮進(jìn)風(fēng)格編寫,每層縮進(jìn)使用一個制表位(TAB),類定義、方法都應(yīng)頂格書寫;

2) 源程序建議使用英文書寫,盡量不含有中文。每行不超過80字符。對于較長的語句(>80字符)要分成多行書寫,長表達(dá)式要在低優(yōu)先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進(jìn)行適當(dāng)?shù)目s進(jìn),使排版整齊,語句可讀;循環(huán)、判斷等語句中若有較長的表達(dá)式或語句,則要進(jìn)行適應(yīng)的劃分;

3) 左花括號要另起一行,不能跟在上一行的行末;

4) 一個變量定義占一行,一個語句占一行;

5) 對獨立的程序塊之間、變量說明之后必須加空行;

6) 在結(jié)構(gòu)成員賦值等情況,等號對齊,最少留一個空格;

7) 若函數(shù)或過程中的參數(shù)較長,則要進(jìn)行適當(dāng)?shù)膭澐帧?/p>

8) 形參的排序風(fēng)格:

? 最常使用的參數(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ū)分。

使用有意義的英語單詞,使用大小寫分隔,每個單詞的第一個字母為大寫

解析C語言7大編碼規(guī)范

考慮到習(xí)慣性和簡潔性,對于按常規(guī)使用的局部變量允許采用極短的名字,如用n、i作為循環(huán)變量,p、q作為指針等。另外,要注意的是:全局變量在程序中不要定義太多,能用局部變量的就用局部變量。如果要使用相關(guān)的變量,建議采用類的方式或者結(jié)構(gòu)的方式存放,以減少具體變量的個數(shù)。

2.4 常量的命名

常量所有的字母均為大寫。并且單詞之間使用下劃線”_”隔開。

2.5 函數(shù)/過程的命名

函數(shù)/過程名稱應(yīng)該盡量使用能夠表達(dá)函數(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”標(biāo)記。在參數(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”標(biāo)記。在參數(shù)名列表中的每個參數(shù)后增加該參數(shù)的注釋。另外輸出參數(shù)一般以指針或應(yīng)用輸出。

3.3 返回值的約定

每個函數(shù)均有返回值,除非操作非常簡單。對于有不同狀態(tài)的返回值,建議用long型的返回值,0為成功。對于出錯類返回值,在同一層次的模塊,用統(tǒng)一代碼表示。在輸出參數(shù)說明區(qū)后跟返回值說明區(qū),用“返回值”或“Return values”標(biāo)記。返回值說明,要說明各種不同類型返回值以及它們的含義。

4 注釋約定

在軟件中對每個文件頭,自定義函數(shù)和變量,重要的處理過程都要有必要的注釋。

4.1 源程序頭的注釋和規(guī)范

每個源程序(包括存儲過程)必須有頭部說明、版本說明和函數(shù)結(jié)構(gòu)三個部分:

源程序頭部說明

FileName:

Copy Right:

System:

Module:

Function:

See also:

Author:

Create Date: 本程序的外部名字(如 *.prg, *.cpp)

xxx公司 版權(quán)所有 版本信息

本文件所在的系統(tǒng)或工程的名字

本文件所在的功能模塊名稱

簡要說明本程序的功能

相關(guān)詳細(xì)設(shè)計文檔號

編碼人員

創(chuàng)建日期

源程序版本說明

Editor:

Version:

Edit Date: 修改人員

版本號

修改日期

4.2 函數(shù)頭的注釋和規(guī)范

Name:

Function:

Input:

Output:

Return:

Syntax:

Env:

Calling: 函數(shù)名稱

簡述函數(shù)或過程的功能

[參數(shù)1] - [說明…]

[參數(shù)2] - [說明…]

[參數(shù)1] - [說明…]

[參數(shù)2] - [說明…]

[返回碼1] - [說明…]

[返回碼2] - [說明…]

調(diào)用語法(可選)

環(huán)境要求和影響(可選的)

被調(diào)用的函數(shù)(可選的)

4.3 變量注釋

直接在變量后面注明變量的用途和取值約定,例如:

4.4 類型定義注釋

指類和記錄等等定義的注釋。在注釋中標(biāo)明定義的用途。

4.5 區(qū)的注釋

同一個類的成員方法要求排列在一起,共同協(xié)作而實現(xiàn)同一個功能的函數(shù)和過程要求排列在一起。代碼通常使用幾個函數(shù)和過程來實現(xiàn)某一項功能,這時候需要使用區(qū)注釋將這些具有共同目的的函數(shù)和過程標(biāo)明出來。

使用整行的”*”作為隔離行,讓程序清晰可讀。

一般刪除的代碼不建議直接刪除,最好用“//”注釋起來。

4.6 代碼中的注釋

在代碼中要求注釋的地方有:

? 代碼中的關(guān)鍵部分;

? 在使用特殊算法或者邏輯性較強的代碼;

? 在修改或刪除代碼部分,需要加注釋;修改/刪除人,目的。

5 變量的作用范圍

盡量做到縮小變量的作用范圍,對于變量是指針的,應(yīng)遵循以下約定:

? 在局部分配的空間在局部釋放。

? 函數(shù)體內(nèi)不能分配空間并將空間指針作為函數(shù)參數(shù)返回。

? 動態(tài)全局空間在程序結(jié)束時一定要釋放。

? 所有動態(tài)分配的空間在對應(yīng)層次的模塊釋放,并且用完馬上釋放。不重復(fù)釋放相

同的指針。

6 函數(shù)/過程的定義

在函數(shù)的定義處應(yīng)當(dāng)增加本函數(shù)的功能描述的注釋。用一句話描述清楚功能。可用英文或中文。功能注釋格式要求所有代碼一致。

7 函數(shù)業(yè)務(wù)流程的定義

在函數(shù)功能描述后,要增加函數(shù)的主要業(yè)務(wù)流程注釋??梢杂枚嘈忻枋?,以解釋清楚業(yè)務(wù)流程為主??捎糜⑽幕蛑形摹I(yè)務(wù)流程注釋格式要求所有代碼一致。

業(yè)務(wù)流程注釋可以盡量詳細(xì),注釋的長度可以與代碼長度差不多,但是不要太長。

比如處理N階乘的函數(shù)業(yè)務(wù)流程定義如下:

解析C語言7大編碼規(guī)范

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134088
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    915

    瀏覽量

    54651

原文標(biāo)題:【初識C語言之第二篇】編碼規(guī)范

文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    安富萊C語言編碼規(guī)范

    所謂無規(guī)矩不成方圓。任何團隊,規(guī)范都是怎么也繞不開的話題。特別是在我們搞嵌入式C開發(fā)的,代碼規(guī)范乃是開發(fā)的重中之重。有太多的理由去做規(guī)范,因為每個人的代碼編寫喜好不同,代碼風(fēng)格也迥然不
    發(fā)表于 07-19 15:19 ?1192次閱讀

    C語言規(guī)范標(biāo)準(zhǔn)

    C語言規(guī)范標(biāo)準(zhǔn),,,
    發(fā)表于 11-07 17:14

    華為C語言編程規(guī)范

    規(guī)范制定了編寫C語言程序的基本原則、規(guī)則和建議。從代碼的清晰、簡潔、可測試、安全、程序效率、可移植各個方面對C語言編程作出了具體指導(dǎo)。
    發(fā)表于 11-24 09:38

    C語言編程規(guī)范

    1、據(jù)說是華為的C語言編程規(guī)范;2、本文件來自互聯(lián)網(wǎng)。
    發(fā)表于 02-22 16:36

    C語言代碼規(guī)范相關(guān)資料推薦

    C語言代碼規(guī)范參考安富萊C語言編碼規(guī)范1.文件與目錄
    發(fā)表于 12-14 08:30

    ARM C語言擴展規(guī)范

    ARM C語言擴展(ACLE)規(guī)范指定源語言擴展和實現(xiàn)C/C++編譯器可以實現(xiàn)的選項,以便讓程序
    發(fā)表于 08-02 06:27

    C語言深度解析

    C語言深度解析,本資料來源于網(wǎng)絡(luò),對C語言的學(xué)習(xí)有很大的幫助,有著較為深刻的解析,可能會對讀者有
    發(fā)表于 09-28 07:00

    C語言編程規(guī)范

    C語言編程規(guī)范(僅供參考) 1. 基本要求1.1 程序結(jié)構(gòu)清析,簡單易懂,單個函數(shù)的程序行數(shù)不得超過100行。1.2 打算干什么,要簡單,直接了當(dāng),代碼精簡,避免垃圾
    發(fā)表于 11-08 09:53 ?733次閱讀

    短信編碼與解碼C語言

    1.消息編碼與解碼 用C實現(xiàn)7-bit編碼和解碼的算法如下: // 7-bit編碼 // pSr
    發(fā)表于 08-30 16:59 ?4次下載
    短信<b class='flag-5'>編碼</b>與解碼<b class='flag-5'>C</b><b class='flag-5'>語言</b>

    C語言書寫的常用規(guī)范

    C語言書寫的常用規(guī)范
    發(fā)表于 10-26 10:43 ?26次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>書寫的常用<b class='flag-5'>規(guī)范</b>

    C語言編寫規(guī)范之注釋

    C語言變成規(guī)范
    發(fā)表于 05-24 14:36 ?13次下載

    C++語言編碼規(guī)范詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C++語言編碼規(guī)范詳細(xì)說明。
    發(fā)表于 01-07 16:19 ?14次下載
    <b class='flag-5'>C</b>++<b class='flag-5'>語言</b><b class='flag-5'>編碼</b><b class='flag-5'>規(guī)范</b>詳細(xì)說明

    華為C語言編程規(guī)范

    關(guān)于華為C語言編程規(guī)范說明免費下載。
    發(fā)表于 06-23 14:47 ?61次下載

    嵌入式軟件之c語言編碼規(guī)范

    嵌入式軟件之c語言編碼規(guī)范
    發(fā)表于 10-28 18:13 ?28次下載

    嵌入式C語言編碼規(guī)范

    作為程序開發(fā)者,避免不了閱讀別人代碼,那么就會涉及到到一門語言的編程規(guī)范。規(guī)范雖然不是語言本身的硬性要求,但是已經(jīng)是每一個語言使用者約定俗成
    的頭像 發(fā)表于 04-23 10:13 ?577次閱讀
    嵌入式<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>編碼</b><b class='flag-5'>規(guī)范</b>