

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言編程規(guī)范上海交通大學(xué)信息安全學(xué)院1命名規(guī)則1.1類型命名規(guī)則對(duì)于結(jié)構(gòu)體類型,按照以下的方法進(jìn)行定義和命名:typedefstruct_類型描述_t類型描述_t;例如:typedefstruct_sem_tinti_sem_id;sem_t;如果類型描述超過(guò)一個(gè)單詞,則單詞之間用下劃線分開。例如:typedefstruct_map_node_tBOOLb_used;UINT32i_id;void*p_data;map_node_t;1.2變量命名規(guī)則對(duì)于基本類型的變量,采用如下的命名方法:變量類型_變量名其中基本變量類型定義如下:i:整型c:字符型s:字符數(shù)組類型,一般用于緩沖區(qū)的定義sz
2、:字符串型p:指針型b:布爾型例如:inti_count;char*sBuffer;BOOLb_used;如果某變量為全局變量,則需要在變量的頭上加g。例如intgi_listern_fd;對(duì)于結(jié)構(gòu)體類型,其變量類型命名如下:st_結(jié)構(gòu)類型變量描述例如:sem_tst_sem_lock;請(qǐng)?jiān)谧兞棵惺褂孟聞澗€以分隔單詞,堅(jiān)持使用小寫;把大寫字母留給宏和枚舉常量。對(duì)于一些功能顯而易見的變量,如循環(huán)變量,則可以使用簡(jiǎn)單的i,j,k,temp等變量名。1.3函數(shù)命名規(guī)則在采用面向?qū)ο蟮姆椒〞r(shí),大部分的函數(shù)與某結(jié)構(gòu)體有著密切的聯(lián)系。其關(guān)系類似與“類-成員函數(shù)”的關(guān)系。對(duì)于此類函數(shù),采用如下的命名法則:
3、結(jié)構(gòu)描述_函數(shù)功能描述(其中函數(shù)功能描述為一個(gè)動(dòng)詞或一個(gè)動(dòng)賓結(jié)構(gòu)。例如:conn_create(;conn_get_id(;對(duì)于一些不和某結(jié)構(gòu)體密切聯(lián)系的函數(shù),則使用如下的命名法則:func_函數(shù)功能描述(例如:func_handle_login_req(2代碼規(guī)范2.1縮進(jìn)使用Tab進(jìn)行縮進(jìn),嚴(yán)禁使用空格縮進(jìn)。Tab的長(zhǎng)度為4格。以下情形應(yīng)該縮進(jìn):函數(shù)體開始的位置條件、循環(huán)、分支的執(zhí)行部分程序轉(zhuǎn)行2.2函數(shù)長(zhǎng)度一般一個(gè)函數(shù)的長(zhǎng)度在20-50行之間比較適合。如果太長(zhǎng)或太短則建議對(duì)函數(shù)進(jìn)行分割或合并。即使是特殊情況下,一個(gè)函數(shù)的長(zhǎng)度也不要超過(guò)200行。2.3局部變量函數(shù)中局部變量的數(shù)目不應(yīng)超過(guò)5
4、-10個(gè)。一般人腦可以同時(shí)處理7個(gè)左右不同的事情。超過(guò)這個(gè)數(shù)目則很容易出錯(cuò)。2.4大括號(hào)的位置普通代碼段將開始的大括號(hào)放在一行的最后,而將結(jié)束大括號(hào)放在一行的第一位,如下所示:if(xistruewedoy命名函數(shù):開始的括號(hào)是放在下一行的第一位,如下:intfunction(intxbodyoffunctionintlots_of_args(intan_integer,longa_long,shorta_short,do-while以及if-else需要注意的是結(jié)束的括號(hào)在它所占的那一行是空的,_除了_它跟隨著同一條語(yǔ)句的繼續(xù)符號(hào)。如while在do-while循環(huán)中,或者else在if語(yǔ)句
5、中。如下:dobodyofdo-loopwhile(condition;以及if(x=yelseif(xyelse另外,注意到這種大括號(hào)的放置方法減小了空行的數(shù)量,但卻沒(méi)有減少可讀性于是,在屏幕大小受到限制的時(shí)候,你就可以有更多的空行來(lái)寫些注釋了。2.5對(duì)齊方式如果函數(shù)的參數(shù)不能被美觀地放在一行中,按照下面的方式把它們分開:doublea_double,floata_float在左括號(hào)之前以及逗號(hào)之后添加空格將使程序更加容易閱讀。尤其是在逗號(hào)之后添加空格。當(dāng)我們把一個(gè)表達(dá)式分成多行的時(shí)候,在操作符之前而不是之后分割。if(foo_this_is_long&barwin(x,y,z&am
6、p;remaining_condition盡力避免讓兩個(gè)不同優(yōu)先級(jí)的操作符出現(xiàn)在相同的對(duì)齊方式中。 例如,不要象下面那樣寫:應(yīng)該附加額外的括號(hào)以使得文本縮進(jìn)可以表示出這種嵌套:當(dāng)在一個(gè)if語(yǔ)句中嵌套了另一個(gè)if-else語(yǔ)句,總是用花括號(hào)把if-else括起來(lái)。因此,不要寫:if(fooif(barwin(;elselose(;而總是要寫:if(fooif(barwin(;elselose(;盡力避免在if的條件中進(jìn)行賦值。例如,不要寫:if(foo=(char*malloc(sizeof*foo=0fatal(virtualmemoryexhausted;而要寫:foo=(char*malloc(sizeof*foo;if(foo=0fatal(virtualmemoryexhausted;3注釋規(guī)范3.1文件頭每個(gè)文件必須有一個(gè)文件頭注釋,大致說(shuō)明文件中包含的功能。3.2函數(shù)頭在每個(gè)函數(shù)定義的前面必須有一個(gè)函數(shù),說(shuō)明這個(gè)函數(shù)的功能,參數(shù)和返回值例如:/功能:創(chuàng)建新的連接節(jié)點(diǎn)/參數(shù):/i_fd:連接的SocketFD/返回值:成功返回節(jié)點(diǎn)指針,否則返回NULL/修改記錄:/3.3函數(shù)內(nèi)部注釋函數(shù)內(nèi)部重要的變量、必須加以注釋,重要的控制結(jié)構(gòu)(循環(huán)、條件、多路分支也要加以注釋。對(duì)于一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外國(guó)禮儀合作協(xié)議
- 《深度學(xué)習(xí)項(xiàng)目案例開發(fā)》課件-任務(wù)五:使用遷移學(xué)習(xí)完成垃圾分類
- 2025年度北京市城市綠化養(yǎng)護(hù)項(xiàng)目勞動(dòng)合同范本
- 危險(xiǎn)品運(yùn)輸司機(jī)合作協(xié)議
- 快遞物流高效配送調(diào)度策略
- 環(huán)境監(jiān)測(cè)與治理技術(shù)案例分析題
- 中醫(yī)護(hù)理學(xué)(第5版)課件 第十章刮痧
- 分布式光伏發(fā)電行業(yè)報(bào)告
- 跨境電商有哪些服務(wù)平臺(tái)
- 項(xiàng)目可行性研究報(bào)告審查
- 2025廣東深圳證券交易所及其下屬單位信息技術(shù)專業(yè)人員招聘筆試參考題庫(kù)附帶答案詳解
- 汽車租賃項(xiàng)目投標(biāo)書
- 2024《整治形式主義為基層減負(fù)若干規(guī)定》全文課件
- 20以內(nèi)加減法口算題(10000道)(A4直接打印-每頁(yè)100題)
- SHAFER氣液聯(lián)動(dòng)執(zhí)行機(jī)構(gòu)培訓(xùn)
- 《企業(yè)員工培訓(xùn)國(guó)內(nèi)外文獻(xiàn)綜述》4800字
- 《游擊隊(duì)歌》-完整版PPT
- DB11-T 1832.8-2022建筑工程施工工藝規(guī)程 第8部分:門窗工程
- 質(zhì)量管理小組QC活動(dòng)知識(shí)培訓(xùn)講義122頁(yè)(PPT 圖表豐富)_ppt
- 《綠化養(yǎng)護(hù)服務(wù)協(xié)議》
- 醫(yī)療期規(guī)定(表格化)
評(píng)論
0/150
提交評(píng)論