80字符)要分成多行書(shū)寫(xiě),長(zhǎng)表達(dá)式要在低優(yōu)先級(jí)操作符處劃分新行,操作符放在新行之首,劃分出的新行要進(jìn)行適當(dāng)?shù)目s進(jìn),使排版整齊,語(yǔ)句可讀;循環(huán)、判斷等語(yǔ)句中若有較長(zhǎng)的表達(dá)式或語(yǔ)句,則要進(jìn)行適應(yīng)的劃分。" />

衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

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

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

C語(yǔ)言編碼規(guī)范

1 排版規(guī)則

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

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

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

4) 一個(gè)變量定義占一行,一個(gè)語(yǔ)句占一行;

5) 對(duì)獨(dú)立的程序塊之間、變量說(shuō)明之后必須加空行;

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

7) 若函數(shù)或過(guò)程中的參數(shù)較長(zhǎng),則要進(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)簡(jiǎn)稱”+模塊名稱

2.2 子模塊的命名

每個(gè)子模塊的名字應(yīng)該由描述模塊功能的1-3以單詞組成。每個(gè)單詞的首字母應(yīng)大寫(xiě)。在這些單詞中可以使用一些較通用的縮寫(xiě)。

2.3 變量的命名

變量的命名的基本原則是使得變量的含義能夠從名字中直接理解。可以用多個(gè)英文單詞拼寫(xiě)而成,每個(gè)英文單詞的首字母要大寫(xiě),其中英文單詞有縮寫(xiě)的可用縮寫(xiě);變量的前綴表示該變量的類(lèi)型;對(duì)于作用域跨越10行以上的變量名稱不能少于4個(gè)字符,除循環(huán)變量,累加變量外不得使用I、j、k等名稱的變量。變量分為取全局變量和局部變量,對(duì)于全局變量以加前綴“g_”來(lái)區(qū)分。

使用有意義的英語(yǔ)單詞,使用大小寫(xiě)分隔,每個(gè)單詞的第一個(gè)字母為大寫(xiě)

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

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

2.4 常量的命名

常量所有的字母均為大寫(xiě)。并且單詞之間使用下劃線”_”隔開(kāi)。

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

函數(shù)/過(guò)程名稱應(yīng)該盡量使用能夠表達(dá)函數(shù)功能的英文名稱,函數(shù)名稱中應(yīng)該禁止使用如同function1,function2等含義不清的名稱。單詞間應(yīng)該使用大小寫(xiě)分隔。全局函數(shù)/過(guò)程名稱以“g_”前綴開(kāi)始。

2.6 接口命名

接口名稱要以大寫(xiě)字母開(kāi)頭。如果接口包含多個(gè)單詞,每個(gè)單詞的首字母大寫(xiě),其他字母小寫(xiě),如果,這些單詞是縮略語(yǔ)(例如XML),也要首字母大寫(xiě),其他字母小寫(xiě)(寫(xiě)為Xml)。

2.7 類(lèi)的命名

類(lèi)名稱要以大寫(xiě)字母開(kāi)頭;

類(lèi)名稱如果包含多個(gè)單詞,每個(gè)單詞的首字母要大寫(xiě),其他字母小寫(xiě);如果這些單詞是縮略語(yǔ)(例如XML),也要首字母大寫(xiě),其他字母小寫(xiě)(寫(xiě)作Xml);

類(lèi)名稱應(yīng)該是一個(gè)名詞或名詞短語(yǔ);

類(lèi)成員變量的命名規(guī)則與上述規(guī)則相同,但是要以“m_”開(kāi)始,表示其為成員變量(Member);

類(lèi)名稱不能出現(xiàn)下劃線。

2.8 方法的命名

方法名稱以小寫(xiě)字母開(kāi)頭。

方法名稱如果包含多個(gè)單詞,除了第一個(gè)單詞外,每個(gè)單詞的首字母大寫(xiě),其它字

母小寫(xiě)。如果這些單詞是縮略語(yǔ)(例如XML),也要首字母大寫(xiě),其它字母小寫(xiě)(寫(xiě)作Xml)。

方法名稱應(yīng)該是一個(gè)動(dòng)詞或動(dòng)名詞短語(yǔ),意思是“完成什么功能”,“執(zhí)行什么操作”。

2.9 數(shù)據(jù)庫(kù)的命名

2.9.1 表:

采用“模塊名簡(jiǎn)稱+前綴+’_’+表名”的命名規(guī)則。表名以能理解該表的內(nèi)容為原則,

可由中文表示,也可由代表此表含義的英文字母組成;首字母大寫(xiě);前綴代表此表類(lèi)別。

2.9.2 視圖:

采用“模塊名+’_’+視圖名+’視圖’”的命名規(guī)則,通常由8個(gè)以內(nèi)漢字組成。

2.9.3 存儲(chǔ)過(guò)程:

采用“Proc+模塊名+’_’+存儲(chǔ)過(guò)程名”的命名規(guī)則。

2.9.4 觸發(fā)器:

采用“模塊名+’’+觸發(fā)類(lèi)型+’’+表名”的命名規(guī)則,如果有多個(gè)觸發(fā)類(lèi)型,則可以疊加在一起。

2.9.5 字段:

字段的命名以能理解該字段的含義為原則,通常由多個(gè)英文單詞加前綴拼寫(xiě)而成,而組成字段名稱的首字母應(yīng)大寫(xiě)。單詞有縮寫(xiě)的可用縮寫(xiě)。字段的前綴表示該字段的數(shù)據(jù)類(lèi)型,其取值詳見(jiàn)“數(shù)據(jù)類(lèi)型”描述。原則上,字段的命名長(zhǎng)度不超過(guò)18字節(jié);描述字段的中文名稱,用數(shù)據(jù)庫(kù)創(chuàng)建工具設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),需要輸入。

3 參數(shù)的約定

3.1 輸入?yún)?shù)的約定

有些函數(shù)有輸入?yún)?shù),這些參數(shù)指由函數(shù)外部(調(diào)用者)輸入,并在函數(shù)內(nèi)部使用。在函數(shù)業(yè)務(wù)流程說(shuō)明后跟輸入?yún)?shù)說(shuō)明區(qū),用“輸入?yún)?shù)”或“Input Parameters”標(biāo)記。在參數(shù)名列表中的每個(gè)參數(shù)后增加該參數(shù)的注釋。

3.2 輸出參數(shù)的約定

有些函數(shù)有輸出參數(shù),這些參數(shù)指由函數(shù)外部(調(diào)用者)定義,在函數(shù)內(nèi)部使用并返回給調(diào)用者的參數(shù)。在輸入?yún)?shù)說(shuō)明區(qū)后跟輸出參數(shù)說(shuō)明區(qū),用“輸出參數(shù)”或 “Output Parameters”標(biāo)記。在參數(shù)名列表中的每個(gè)參數(shù)后增加該參數(shù)的注釋。另外輸出參數(shù)一般以指針或應(yīng)用輸出。

3.3 返回值的約定

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

4 注釋約定

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

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

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

源程序頭部說(shuō)明

FileName:

Copy Right:

System:

Module:

Function:

See also:

Author:

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

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

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

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

簡(jiǎn)要說(shuō)明本程序的功能

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

編碼人員

創(chuàng)建日期

源程序版本說(shuō)明

Editor:

Version:

Edit Date: 修改人員

版本號(hào)

修改日期

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

Name:

Function:

Input:

Output:

Return:

Syntax:

Env:

Calling: 函數(shù)名稱

簡(jiǎn)述函數(shù)或過(guò)程的功能

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

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

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

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

[返回碼1] - [說(shuō)明…]

[返回碼2] - [說(shuō)明…]

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

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

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

4.3 變量注釋

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

4.4 類(lèi)型定義注釋

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

4.5 區(qū)的注釋

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

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

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

4.6 代碼中的注釋

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

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

? 在使用特殊算法或者邏輯性較強(qiáng)的代碼;

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

5 變量的作用范圍

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

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

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

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

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

同的指針。

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

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

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

在函數(shù)功能描述后,要增加函數(shù)的主要業(yè)務(wù)流程注釋。可以用多行描述,以解釋清楚業(yè)務(wù)流程為主。可用英文或中文。業(yè)務(wù)流程注釋格式要求所有代碼一致。

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

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

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

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

    關(guān)注

    180

    文章

    7614

    瀏覽量

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

    關(guān)注

    6

    文章

    957

    瀏覽量

    54953

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    所謂無(wú)規(guī)矩不成方圓。任何團(tuán)隊(duì),規(guī)范都是怎么也繞不開(kāi)的話題。特別是在我們搞嵌入式C開(kāi)發(fā)的,代碼規(guī)范乃是開(kāi)發(fā)的重中之重。有太多的理由去做規(guī)范,因?yàn)槊總€(gè)人的代碼編寫(xiě)喜好不同,代碼風(fēng)格也迥然不
    發(fā)表于 07-19 15:19 ?1347次閱讀

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

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

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

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

    C語(yǔ)言編程規(guī)范

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

    請(qǐng)問(wèn)C語(yǔ)言編程基本規(guī)范是什么?

    C語(yǔ)言編程基本規(guī)范是什么?
    發(fā)表于 04-19 06:31

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

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

    ARM C語(yǔ)言擴(kuò)展規(guī)范

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

    C語(yǔ)言深度解析

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

    短信編碼與解碼C語(yǔ)言

    1.消息編碼與解碼 用C實(shí)現(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'>語(yǔ)言</b>

    C語(yǔ)言書(shū)寫(xiě)的常用規(guī)范

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

    C語(yǔ)言編寫(xiě)規(guī)范之注釋

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

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

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

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

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

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

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

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

    作為程序開(kāi)發(fā)者,避免不了閱讀別人代碼,那么就會(huì)涉及到到一門(mén)語(yǔ)言的編程規(guī)范規(guī)范雖然不是語(yǔ)言本身的硬性要求,但是已經(jīng)是每一個(gè)語(yǔ)言使用者約定俗成
    的頭像 發(fā)表于 04-23 10:13 ?720次閱讀
    嵌入式<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>編碼</b><b class='flag-5'>規(guī)范</b>
    澳门百家乐官网论坛及玩法| 网上百家乐官网有没有假| 赌场百家乐实战| 百家乐官网网上真钱娱乐网| 大发888注册| 百家乐官网最好投注法是怎样的去哪儿能了解一下啊 | 在线百家乐官网纸牌游戏| 大发888游戏平台 送1688元礼金领取lrm | 百家乐必胜法hk| 百家乐官网币| 博狗百家乐真实| 太阳城百家乐官网客户端| 现金网开户送彩金| 大发888优惠| 波音百家乐游戏| 澳门百家乐官网奥秘| 稳赢至尊| 大发888m摩卡游戏| 太阳城百家乐168| 百家乐官网在线娱乐可信吗| 五家渠市| 百家乐官网15人桌子| 铜川市| 抚顺棋牌网| 女优百家乐的玩法技巧和规则| 免费百家乐官网倍投软件| 至尊百家乐官网娱乐平台| 百家乐官网扑克投注赢钱法| 全南县| 必搏娱乐| 大发888充值100元| 怎么看百家乐的路| 百家乐园选百利宫| 百家乐2珠路投注法| 百家乐官网轮盘一体机厂家| 百家乐官网赔率计算| 澳门百家乐官网信誉| 百家乐官网有真假宝单吗| 网络百家乐| 澳盈| 澳门体育博彩|