C語言編程規(guī)范.

C語言編程規(guī)范.

ID:38979328

大?。?7.50 KB

頁數(shù):8頁

時間:2019-06-22

C語言編程規(guī)范._第1頁
C語言編程規(guī)范._第2頁
C語言編程規(guī)范._第3頁
C語言編程規(guī)范._第4頁
C語言編程規(guī)范._第5頁
資源描述:

《C語言編程規(guī)范.》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、C語言編程規(guī)范上海交通大學信息安全學院1命名規(guī)則1.1類型命名規(guī)則對于結(jié)構(gòu)體類型,按照以下的方法進行定義和命名:typedefstruct_類型描述_t{.....}類型描述_t;例如:typedefstruct_sem_t{inti_sem_id;}sem_t;如果類型描述超過一個單詞,則單詞之間用下劃線分開。例如:typedefstruct_map_node_t{BOOLb_used;UINT32i_id;void*p_data;}map_node_t;1.2變量命名規(guī)則對于基本類型的變量,采用如

2、下的命名方法:變量類型_變量名其中基本變量類型定義如下:i:整型c:字符型s:字符數(shù)組類型,一般用于緩沖區(qū)的定義sz:字符串型p:指針型b:布爾型例如:inti_count;char*sBuffer;BOOLb_used;如果某變量為全局變量,則需要在變量的頭上加g。例如intgi_listern_fd;對于結(jié)構(gòu)體類型,其變量類型命名如下:st_結(jié)構(gòu)類型_變量描述例如:sem_tst_sem_lock;請在變量名中使用下劃線以分隔單詞,堅持使用小寫;把大寫字母留給宏和枚舉常量。對于一些功能顯而易見的變

3、量,如循環(huán)變量,則可以使用簡單的i,j,k,temp等變量名。1.3函數(shù)命名規(guī)則在采用面向?qū)ο蟮姆椒〞r,大部分的函數(shù)與某結(jié)構(gòu)體有著密切的聯(lián)系。其關(guān)系類似與“類-成員函數(shù)”的關(guān)系。對于此類函數(shù),采用如下的命名法則:結(jié)構(gòu)描述_函數(shù)功能描述(其中函數(shù)功能描述為一個動詞或一個動賓結(jié)構(gòu)。例如:conn_create(;conn_get_id(;對于一些不和某結(jié)構(gòu)體密切聯(lián)系的函數(shù),則使用如下的命名法則:func_函數(shù)功能描述(例如:func_handle_login_req(2代碼規(guī)范2.1縮進使用Tab進行縮進

4、,嚴禁使用空格縮進。Tab的長度為4格。以下情形應該縮進:函數(shù)體開始的位置◆條件、循環(huán)、分支的執(zhí)行部分◆程序轉(zhuǎn)行2.2函數(shù)長度一般一個函數(shù)的長度在20-50行之間比較適合。如果太長或太短則建議對函數(shù)進行分割或合并。即使是特殊情況下,一個函數(shù)的長度也不要超過200行。2.3局部變量函數(shù)中局部變量的數(shù)目不應超過5-10個。一般人腦可以同時處理7個左右不同的事情。超過這個數(shù)目則很容易出錯。2.4大括號的位置●普通代碼段將開始的大括號放在一行的最后,而將結(jié)束大括號放在一行的第一位,如下所示:if(xistru

5、e{wedoy}●命名函數(shù):開始的括號是放在下一行的第一位,如下:intfunction(intx{bodyoffunction}●do-while以及if-else需要注意的是結(jié)束的括號在它所占的那一行是空的,__除了__它跟隨著同一條語句的繼續(xù)符號。如"while"在do-while循環(huán)中,或者"else"在if語句中。如下:do{bodyofdo-loop}while(condition;以及if(x==y{…}elseif(x>y{...}else{…}另外,注意到這種大括號的放置方法減小了空

6、行的數(shù)量,但卻沒有減少可讀性。于是,在屏幕大小受到限制的時候,你就可以有更多的空行來寫些注釋了。2.5對齊方式●如果函數(shù)的參數(shù)不能被美觀地放在一行中,按照下面的方式把它們分開:intlots_of_args(intan_integer,longa_long,shorta_short,doublea_double,floata_float●在左括號之前以及逗號之后添加空格將使程序更加容易閱讀。尤其是在逗號之后添加空格?!癞斘覀儼岩粋€表達式分成多行的時候,在操作符之前而不是之后分割。if(foo_this

7、_is_long&&bar>win(x,y,z&&remaining_condition●盡力避免讓兩個不同優(yōu)先級的操作符出現(xiàn)在相同的對齊方式中。例如,不要象下面那樣寫:應該附加額外的括號以使得文本縮進可以表示出這種嵌套:●當在一個if語句中嵌套了另一個if-else語句,總是用花括號把if-else括起來。因此,不要寫:if(fooif(barwin(;elselose(;而總是要寫:if(foo{if(barwin(;elselose(;}●盡力避免在if的條件中進行賦值。例如,不要寫:if((f

8、oo=(char*malloc(sizeof*foo==0fatal("virtualmemoryexhausted";而要寫:foo=(char*malloc(sizeof*foo;if(foo==0fatal("virtualmemoryexhausted";3注釋規(guī)范3.1文件頭每個文件必須有一個文件頭注釋,大致說明文件中包含的功能。3.2函數(shù)頭在每個函數(shù)定義的前面必須有一個函數(shù),說明這個函數(shù)的功能,參數(shù)和返回值。例如://////////////

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。