版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、c語言程序設計,教學專業(yè):軟件技術專業(yè),前言說明的重要性。今天,人們越來越意識到軟件設計更多的是一門工程而不是一門個人藝術。因為大規(guī)模產(chǎn)品的開發(fā)通常是由許多人來協(xié)調(diào)的,如果編程標準不統(tǒng)一,最終程序的可讀性就會很差,這不僅會給代碼的理解帶來障礙,還會增加維護階段的工作量。同時,非標準代碼隱含錯誤的可能性相對較大。貝爾實驗室(BELL Laboratories)的研究數(shù)據(jù)顯示,約18%的軟件錯誤發(fā)生在概要設計階段,約15%發(fā)生在詳細設計階段,編碼階段產(chǎn)生的錯誤比例接近50%;分析表明,語法錯誤約占編碼階段錯誤的20%,而未嚴格檢查軟件邏輯導致的錯誤、功能(模塊)之間的接口錯誤以及優(yōu)化維護階段錯誤代
2、碼修改導致的錯誤占一半以上。因此,為了提高軟件質量,有必要降低編碼階段的錯誤率。如何有效減少編碼階段的錯誤?貝爾實驗室的研究人員制定了詳細的軟件編程規(guī)范,并培訓了每個程序員。最終結果將編碼階段的錯誤減少到10%左右,也降低了程序的測試成本,效果顯著。本文從代碼可維護性(可讀性、可理解性和可修改性)、代碼邏輯和效率、功能(模塊)接口和可測試性四個方面闡述了軟件編程規(guī)范。它分為兩部分,第一部分是命名規(guī)范,第二部分是編程規(guī)范。本規(guī)范是天馬公司的強制性項目。前言規(guī)范的重要性,我們制定了一個編程風格,希望達到以下目標:可移植性、一致性、整潔性、易維護性、易理解性和簡潔性。在團隊合作的大型項目中,這種風格
3、應該始終貫穿始終。采用通用的代碼編寫風格可以減少代碼維護的工作量和成本;這種通用的代碼風格也可以避免重寫代碼。第一部分是C語言的命名標準。1.一般原則1。所有命名都應使用標準英語單詞或縮寫。不要使用拼音或拼音縮寫,除非該名稱描述了中文特有的內(nèi)容,如半角、全角、首字母、韻母等。2、所有命名都應遵循意義原則,即名稱應具有明確的意義。3.所有命名都不應太長,并應控制在規(guī)定的最大長度內(nèi),一般不超過32字節(jié)。C語言命名規(guī)范的第一部分,1。一般規(guī)則4。所有的命名都應該盡可能使用全名。5.如果使用縮寫命名,應盡可能使用通用縮寫;如果你不知道一般的縮寫,你必須做出評論和解釋。6.縮寫原則形成縮寫的幾種技巧1)
4、去掉所有不在前綴中的元音。例如,屏幕寫為scrn,原始寫為prmv。C語言命名規(guī)范的第一部分,6,縮寫原則2)使用每個單詞的第一個字母或多個字母。例如,通道激活被寫為通道激活,釋放指示被寫為重新鏈接。3)使用變量名中的每個典型單詞。將失敗記錄為失敗計數(shù)。4)刪除無用的單詞后綴、ed等。例如,尋呼請求被寫為尋呼請求。5)使用標準或習慣縮寫(包括出現(xiàn)在協(xié)議文件中的縮寫)。例如基站識別碼、移動應用部分。C語言命名規(guī)范的第一部分,6,縮寫原則,縮寫標準: 1)縮寫應一致。例如,不要有時將頻道縮寫為Chan或Ch。長度有時縮寫為len,有時縮寫為Len。2)在源代碼頭添加注釋,解釋與協(xié)議相關的和非通用的
5、縮寫。3)標識符的長度不得超過32個字符。第一部分是C語言命名規(guī)范,第二部分是具體規(guī)范。1.項目名稱是根據(jù)項目命名的,可以反映項目最重要的特征。例如,在天馬公司的Windows控制程序中,項目名稱可以命名為TWIN 2,文件名基于項目名稱,前三個字母應該表示它與哪個項目相關。下面的字母應該能夠區(qū)分不同的功能。嚴格區(qū)分大小寫。長度不限于8.3格式,建議不要超過30個字符。如果文件用于定義和實現(xiàn)函數(shù)(類),建議文件名與函數(shù)(類)的名稱一致。第一部分是c語言命名規(guī)范;2.文件名,例如,TWIN項目文件名的前三個字符是tw _,tw _ toolposmeter . CPP tw _ mach par
6、ameter . CPP tw _ spindle pos . CPP等。第一部分是c語言命名規(guī)范;3.功能名稱是指項目的特定命名規(guī)范。建議使用動賓結構。函數(shù)名應該清楚地反映函數(shù)的功能和用途。函數(shù)名的最大長度不能超過30個字符。函數(shù)名是復合詞,第一個字母大寫,其他字母小寫。全局函數(shù)必須以小寫前綴g開頭。);第一部分是C語言的命名標準。4.原則上,變量名的命名遵循匈牙利符號。即:前綴型變量名,其中:前綴是可選的,用小寫字母表示;基本類型是必需的,用小寫字母表示;變量名是必需的,多個單詞(或縮寫)可以組合在一起,每個單詞的首字母大寫。變量名的最大長度不得超過20個字符。第一部分是C語言命名標準,4
7、。變量名的前綴列表如下:前綴含義,例如,ms_ class ms_ListFunc m_ class成員變量或m_ListBox的靜態(tài)成員變量,模塊級變量m_Size s_ static全局變量s_Count g_ common全局變量g_MyVar,第一部分是C語言命名標準,4。變量名的基本類型列表如下:基本類型含義示例B布爾by byte byNum c字符cMyChar i integer iTestNumber u無符號整數(shù)uCount ul無符號長整數(shù)ulTime w word wPara,第一部分C語言命名規(guī)范,4。變量名的基本類型的例子:雙字dwPara l長lPara f浮點數(shù)
8、dData長浮點數(shù)字dData h句柄hWnd p指針pTheWord lp長指針lpCmd a數(shù)組aErr,第一部分C語言命名規(guī)范,4。變量名的基本類型的例子:字符串,sTemp sz NULL終止的字符串,szTrees enm枚舉類型,enmDays xy x,y坐標,xyPos,第一部分,C語言命名規(guī)范,5。類名反映了特定的含義,其原則是清楚地表達類的目的和功能。接口必須以大寫的I開頭,代表接口。當名字由多個單詞組成時,每個單詞的第一個字母必須大寫。C語言命名規(guī)范的第一部分,6,宏和常量的命名規(guī)則:單詞的所有字母都是大寫的,每個單詞都可以用下劃線分隔。命名示例:為:#定義最大值100
9、#定義最大值_插槽_ num8 #定義ei _ encr _ info0x07 #定義do(do)iret=do;if(iRet)返回IRet;C語言命名規(guī)范的第一部分,7,結構和結構成員的名稱,每個單詞的字母都是大寫的,單詞之間可以用下劃線連接。Typedef可以使用也可以不使用,但是為了保持一致,typedef可能不用于某些結構,有些可能不使用。結構變量以小寫字母“t”作為前綴。typedefstructPOINT intxintyt點。結構成員的命名規(guī)則與變量的命名規(guī)則相同。C語言命名規(guī)范的第一部分,8。枚舉和枚舉成員的命名每個單詞的字母都是大寫的,單詞之間可以用下劃線隔開。枚舉成員的命
10、名規(guī)則:單詞的所有字母都是大寫的,每個單詞都可以用下劃線分隔;每個成員的第一個單詞必須相同。枚舉變量以小寫字母“e”作為前綴。命名示例: typedef enum _ kfile _ open _ mode file _ open _ readonly=0,file _ open _ readwrite=1,file _ create _ always=3 ek file _ open _ mode;C語言命名標準的第一部分,9,聯(lián)合名稱的每個單詞的字母都是大寫的,并且這些單詞可以用下劃線連接。聯(lián)合變量名以小寫字母“j”為前綴,其成員以變量命名。示例:typedefunion _ VARIAN
11、T charcValintiVallonglVal浮點值。jVARIANT第二部分是C語言編程規(guī)范。首先,總體要求是在工程項目之前應該建立代碼編寫規(guī)則。這條規(guī)則應該貫穿整個采用標準代碼編寫慣例可以大大簡化項目的維護負擔。第二部分是C語言編程規(guī)范,第二部分是具體的編程規(guī)范1?;疽?.1程序結構清晰易懂,單個功能的程序行數(shù)一般不應超過200行。1.2簡化代碼以避免垃圾程序。1.3嘗試使用預定義的變量。1.4不要任意定義全局變量,盡量使用局部變量。1.5使用括號來避免歧義,第二部分是C語言編程規(guī)范,2??勺x性要求2.1可讀性第一,效率第二。2.2保持注釋與代碼完全一致。2.3每個源程序文件都有一
12、個標題描述。規(guī)格見規(guī)格。2.4每個函數(shù)都有一個函數(shù)頭描述。規(guī)格見規(guī)格。2.5當定義或引用主要變量時,注釋可以反映它們的含義。2.7用相應的指令定義全局變量。2.8處理過程的每個階段都有相關的注釋。2.9典型算法之前有注釋。2.10一行只寫一句話,并使用空格、空行和過渡,以確保清晰的視覺效果。第二部分C編程標準,2??勺x性要求2.11使用縮進來顯示程序的邏輯結構,縮進量被一致地定義為兩個空格。2.12循環(huán)時,支管水平不應超過五層。2.13注釋可以與語句在同一行,也可以在上面一行。2.14空行和空白字符也是特殊注釋。2.15清晰的陳述,無評論。2.16注釋的范圍可以是:定義、引用、條件分支和一段代
13、碼。2.17注釋行數(shù)(不包括程序頭和功能頭描述)應占總行數(shù)的1/5至1/3。C語言編程規(guī)范的第二部分,2??勺x性要求示例1:函數(shù)的可讀性格式是長getaxisstatus (int iaxiscode,long * lstatus)長lstatus;長lResultsetaxisadress(IaxisCode);lResult=GetStatus(lResult);返回lResult上述函數(shù)內(nèi)容縮進2個空格,可讀。C語言編程規(guī)范的第二部分,2??勺x性要求示例2:一行中只有一條語句,錯誤可以用空格對齊:長度=32,長度=16;正確的例子:長度=32;iWidth=16,C語言編程規(guī)范的第二部分
14、,2??勺x性要求示例3:如果(暫時等)。)語句使用不正確:如果(a=3)b=6;如果(a=3)b=6;上面例子的書寫格式似乎沒有層次感。C語言編程規(guī)范的第二部分,2。可讀性要求示例3:如果(暫時等)。)語句的格式正確:如果(a=3)b=6;內(nèi)容縮進2個空格,層次清晰,可讀性強。C語言編程規(guī)范的第二部分,2??勺x性要求示例4:錯誤使用開關語句的示例:開關(代碼)案例0:中斷;案例1:中斷;默認值break上面例子的書寫格式似乎沒有層次感。C語言編程規(guī)范的第二部分,2??勺x性要求示例4:開關語句的正確使用:開關(代碼)盒0:斷開;案例1:中斷;默認值break內(nèi)容縮進2個空格,層次清晰,可讀性強。
15、第二部分,C語言編程規(guī)范,3,結構要求,3.1,禁止兩個等價分支。3.2一般禁止GOTO語句。3.3使用IF語句強調(diào)兩組語句中只有一組被執(zhí)行。否則禁止轉到。3.4使用案例實現(xiàn)多路徑分支。3.5避免多個出口流通。3.6一般功能只有一個插座。3.7不要使用條件賦值語句。3.8避免不必要的分支。3.9不要輕易用條件分支替換邏輯表達式。第二部分是C語言編程規(guī)范。4.正確性和容錯性的要求。4.1程序首先是正確的,其次是美麗的。4.2它不能證明你的程序沒有錯誤。因此,在寫完一個程序后,你應該根據(jù)詳細的設計進行檢查。4.3在糾正錯誤時,可能會出現(xiàn)新的錯誤,因此在修改前應首先考慮對其他程序的影響。4.4所有變量必須在調(diào)用前初始化。4.5必須檢查所有用戶輸入的合法性。4.6當程序和en之間存在關系時,第二部分是C語言編程規(guī)范,5??芍赜眯砸?.1完成相對獨立功能的可重用算法或代碼應該抽象為公共控件。5.2公共控制應該考慮面向對象的思想,減少外部聯(lián)系,并考慮獨立性或封裝性。5.3應使用模板建立公共控制。C語言編程規(guī)范的第二部分,6。注釋6.1根據(jù)項目要求設置注釋語言;6.2文件開頭的注釋包括:公司名稱、版權、作者姓名、時間、模塊用途、背景介紹等。復雜的算法需要添加過程描述;6.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年食品營養(yǎng)標簽規(guī)范應用培訓
- 2026年IT運維自動化工具實操培訓
- 2026貴州省人民檢察院直屬事業(yè)單位招聘1人備考題庫及答案詳解一套
- 2026陜西長嶺紡織機電科技有限公司招聘備考題庫(13人)有完整答案詳解
- 2026陜西西北工業(yè)大學材料學院功能密封材料團隊招聘1人備考題庫及一套答案詳解
- 課件放飛和平鴿
- 職業(yè)健康風險生物標志物研究進展
- 職業(yè)健康服務質量評價指標構建
- 職業(yè)健康應急響應多學科人才培養(yǎng)體系
- 精準扶貧入戶培訓課件
- 北京市順義區(qū)2025-2026學年八年級上學期期末考試英語試題(原卷版+解析版)
- 中學生冬季防溺水主題安全教育宣傳活動
- 2026年藥廠安全生產(chǎn)知識培訓試題(達標題)
- 冷庫防護制度規(guī)范
- 廣東省廣州市番禺區(qū)2026屆高一數(shù)學第一學期期末聯(lián)考試題含解析
- 2026年廣東省佛山市高三語文聯(lián)合診斷性考試作文題及3篇范文:可以“重讀”甚至“重構”這些過往
- 2025年國際中文教師證書考試真題附答案
- 倒掛井壁法施工安全技術保證措施
- 2025年低空經(jīng)濟無人機災害預警行業(yè)報告
- 用戶界面設計規(guī)范及模板
- 2025年上海高考英語試卷及答案
評論
0/150
提交評論