




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言編程規范上海交通大學信息安全學院1命名規則1.1類型命名規則對于結構體類型,按照以下的方法進行定義和命名:typedef struct _類型描述_t類型描述_t;例如:typ edef struct _sem_t int i sem id; sem_t;如果類型描述超過一個單詞,則單詞之間用下劃線分開。例如:typ edef struct _map_ no de_t BOOL b_used;UINT32 i_id;void * p_data; map_no de_t;1.2變量命名規則對于基本類型的變量,采用如下的命名方法:變量類型_變量名其中基本變量類型定義如下:i :整型c :字符
2、型s :字符數組類型,一般用于緩沖區的定義SZ :字符串型P :指針型b :布爾型例如:int i_co unt;char * sBuffer;BOOL b_used;如果某變量為全局變量,則需要在變量的頭上加g。例如int gi_listern_fd;對于結構體類型,其變量類型命名如下:例如:sem t st sem lock;請在變量名中使用下劃線以分隔單詞,堅持使用小寫;把大寫字母留給宏和枚 舉常量。對于一些功能顯而易見的變量,如循環變量,則可以使用簡單的i, j, k, temp等變量名。1.3函數命名規則在采用面向對象的方法時,大部分的函數與某結構體有著密切的聯系。其關 類似與 類-
3、成員函數”的關系。對于此類函數,采用如下的命名法則:結構描述_函數 功能描述(其中函數功能描述為一個動詞或一個動賓結構。例如:conn _create(;conn _get_id(;對于一些不和某結構體密切聯系的函數,則使用如下的命名法則:func_函數功能描述(例如:fun c_ha ndle_logi n_req(2代碼規范2.1縮進使用Tab進行縮進 嚴禁使用空格縮進。Tab的長度為4格。以下情形應該縮進:函數體開始的位置條件、循環、分支的執行部分程序轉行2.2函數長度一般一個函數的長度在20-50行之間比較適合。如果太長或太短則建議對函 數進行分割或合并。即使是特殊情況下,一個函數的長
4、度也不要超過200行。2.3局部變量函數中局部變量的數目不應超過 5-10個。一般人腦可以同時處理 7個左右不同的事情。超過這個數目則很容易出錯。2.4大括號的位置普通代碼段將開始的大括號放在一行的最后,而將結束大括號放在一行的第一位,如下所示:if(X is true we do y命名函數:開始的括號是放在下一行的第一位,如下:int function (i nt xbody of function dowhile 以及 if-else需要注意的是結束的括號在它所占的那一行是空的除了 它跟隨著同一條語句的繼續符號。如"while"在do-while循環中,或者"
5、;else"在if語句中。如下:do body of do-lo op while (con diti on;以及if (x = y else if (x > y else 另外,注意到這種大括號的放置方法減小了空行的數量,但卻沒有減少可讀性。于是,在屏幕大小受到限制的時候,你就可以有更多的空行來寫些注釋了。2.5對齊方式如果函數的參數不能被美觀地放在一行中,按照下面的方式把它們分開:double a_double, float a_float在左括號之前以及逗號之后添加空格將使程序更加容易閱讀。尤其是在逗號之后添加空格。當我們把一個表達式分成多行的時候,在操作符之前而不是之后
6、分割。if(foo_this_is_lo ng && bar > win (x, y, z&& rema ining_con diti on盡力避免讓兩個不同優先級的操作符出現在相同的對齊方式中。例如,不要象下面那樣寫:應該附加額外的括號以使得文本縮進可以表示出這種嵌套在一個if語句中嵌套了另一個if-else語句,總是用花括號把if-else括起來。因此,不要寫:if (fooif (barwin (;elselose (;而總是要寫:if (foo if (barwin (;elselose (;盡力避免在if的條件中進行賦值。例如,不要寫:if (f
7、oo = (char * malloc (sizeof *foo = 0fatal ("virtual memory exhausted"而要寫:foo = (char * malloc (sizeof *foo;if (foo = 0fatal ("virtual memory exhausted"3注釋規范3.1文件頭每個文件必須有一個文件頭注釋,大致說明文件中包含的功能。3.2函數頭在每個函數定義的前面必須有一個函數,說明這個函數的功能,參數和返回 值。例如:/功能:創建新的連接節點/參數:/ i_fd:連接的 Socket FD/返回值:成功返回節點指針,否則返回NULL/修改記錄:/conn_t * conn _create(i nt i_fd3.3函數內部注釋函數內部重要的變量、必須加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年江西客運從業資格證考試題目及答案
- 2025年烏魯木齊貨運從業資格考試模擬考試題庫答案
- 化學材料科學基礎知識題庫
- 農業生產技術與推廣協議
- 世界地理各大洲特色測試卷
- 市場營銷業績成果證明(7篇)
- 未來的家園寫物作文(13篇)
- 我的快樂童年回憶記事作文7篇范文
- 機械工程自動化理論試題集
- 環保從我做起:議論文6篇
- 綠色施工管理體系及管理制度(土木)
- 護理與風險防范課件
- 2025年高考安徽卷物理真題(解析版)
- 標準件項目管理制度
- 十五五智慧校園建設發展規劃
- 中醫眼科學綠風內障課件
- 暑假安全家長會課件
- 2025年中小學生安全知識競賽試題及答案
- 2024年山西煙草專賣局考試真題試卷及答案
- SOP-15天視頻起號流程圖
- 出口原產地管理制度
評論
0/150
提交評論