編程規(guī)范培訓課件_第1頁
編程規(guī)范培訓課件_第2頁
編程規(guī)范培訓課件_第3頁
編程規(guī)范培訓課件_第4頁
編程規(guī)范培訓課件_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C語言編程規(guī)范C語言編程規(guī)范11、程序員花更多的時間在調試、維護和升級已有代碼上,而不是編寫新的代碼;2、程序最重要的是正確性,其次是可維護性和效率;3、學習如何寫優(yōu)美的程序與學習如何正確地編寫代碼同樣重要;4、讓程序盡量簡單易懂,不要使用復雜晦澀的語句;5、一個運行正常但沒有注釋的程序如同一個等待爆炸的定時炸彈,因為早晚會有人修改或升級這個程序;6、好風格應該成為一種習慣。如果你在開始寫代碼時就關心風格問題,如果你花時間去審視和改進它,你將會逐漸養(yǎng)成一種好的編程習慣。一旦這種習慣變成自動的東西,你的潛意識就會幫你照料許多細節(jié)問題,甚至你在工作壓力下寫出的代碼也會更好。關于編程規(guī)范的幾個原則1、程序員花更多的時間在調試、維護和升級已有代碼上,而不是編2floatb,c[10];voidabc(void){floatzongfen=0;intd;for(d=0;d<10;d++){if(c[d]>0)zongfen+=c[b];b=zongfen/10;}這段程序在做什么?這段程序是否有錯誤?這程序中存在哪些不良的書寫風格?它們可能會引起什么后果?程序實例floatb,c[10];程序實3floatb,c[10];voidabc(void){floatzongfen=0;intd;for(d=0;d<10;d++){if(c[d]>0)zongfen+=c[b];b=zongfen/10;}#defineSTUDENT_NUM10//學生總數(shù)floatfAvgScore;//平均分floatfScore[STUDENT_NUM];//分數(shù)/*平均分計算函數(shù)*/voidAvgScore(void){inti;floattotal_score=0;//總分for(i=0;i<STUDENT_NUM;i++){//累加計算總分if(fScore[i]>0)//遇到負分,記為0分total_score+=fScore[i];}//計算平均分if(STUDENT_NUM>0)fAvgScore=total_score/STUDENT_NUM;}有了哪些改進?你認為還有什么地方需要改進?#defineSTUDENT_NUM1041排版程序塊要采用縮進風格編寫,縮進的空格數(shù)為4個。相對獨立的程序塊之間、變量說明之后必須加空行。較長的語句(>80字符)要分成多行書寫,長表達式要在低優(yōu)先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進行適當?shù)目s進,使排版整齊,語句可讀。1排版程序塊要采用縮進風格編寫,縮進的空格數(shù)為4個。51排版程序塊要采用縮進風格編寫,縮進的空格數(shù)為4個。相對獨立的程序塊之間、變量說明之后必須加空行。較長的語句(>80字符)要分成多行書寫,長表達式要在低優(yōu)先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進行適當?shù)目s進,使排版整齊,語句可讀。1排版程序塊要采用縮進風格編寫,縮進的空格數(shù)為4個。61排版if、for、do、while、case、switch、default等語句自占一行,且if、for、do、while等語句的執(zhí)行語句部分無論多少都要加括號{}。對齊只使用空格鍵,不使用TAB鍵。函數(shù)或過程的開始、結構的定義及循環(huán)、判斷等語句中的代碼都要采用縮進風格,case語句下的情況處理語句也要遵從語句縮進要求。1排版if、for、do、while、case、swit71排版程序塊的分界符(如C/C++語言的大括號‘{’和‘}’)應各獨占一行并且位于同一列,同時與引用它們的語句左對齊。在函數(shù)體的開始、類的定義、結構的定義、枚舉的定義以及if、for、do、while、switch、case語句中的程序都要采用如上的縮進方式。在兩個以上的關鍵字、變量、常量進行對等操作時,它們之間的操作符之前、之后或者前后要加空格;進行非對等操作時,如果是關系密切的立即操作符(如->),后不應加空格。1排版程序塊的分界符(如C/C++語言的大括號‘{’和‘82注釋一般情況下,源程序有效注釋量必須在20%以上。說明性文件(如頭文件.h文件、.inc文件、.def文件、編譯說明文件.cfg等)頭部應進行注釋,注釋必須列出:版權說明、版本號、生成日期、作者、內容、功能、與其它文件的關系、修改日志等,頭文件的注釋中還應有函數(shù)功能簡要說明。2注釋一般情況下,源程序有效注釋量必須在20%以上。92注釋源文件頭部應進行注釋,列出:版權說明、版本號、生成日期、作者、模塊目的/功能、主要函數(shù)及其功能、修改日志等。函數(shù)頭部應進行注釋,列出:函數(shù)的目的/功能、輸入?yún)?shù)、輸出參數(shù)、返回值、調用關系(函數(shù)、表)等。邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以保證注釋與代碼的一致性。不再有用的注釋要刪除。2注釋源文件頭部應進行注釋,列出:版權說明、版本號、生成102注釋注釋的內容要清楚、明了,含義準確,防止注釋二義性。注釋應與其描述的代碼相近,對代碼的注釋應放在其上方或右方(對單條語句的注釋)相鄰位置,不可放在下面,如放于上方則需與其上面的代碼用空行隔開。對于所有有物理含義的變量、常量,如果其命名不是充分自注釋的,在聲明時都必須加以注釋,說明其物理含義。變量、常量、宏的注釋應放在其上方相鄰位置或右方。2注釋注釋的內容要清楚、明了,含義準確,防止注釋二義性。112注釋數(shù)據(jù)結構聲明(包括數(shù)組、結構、類、枚舉等),如果其命名不是充分自注釋的,必須加以注釋。對數(shù)據(jù)結構的注釋應放在其上方相鄰位置,不可放在下面;對結構中的每個域的注釋放在此域的右方。全局變量要有較詳細的注釋,包括對其功能、取值范圍、哪些函數(shù)或過程存取它以及存取時注意事項等的說明。注釋與所描述內容進行同樣的縮排。將注釋與其上面的代碼用空行隔開。2注釋數(shù)據(jù)結構聲明(包括數(shù)組、結構、類、枚舉等),如果其122注釋避免在一行代碼或表達式的中間插入注釋。通過對函數(shù)或過程、變量、結構等正確的命名以及合理地組織代碼的結構,使代碼成為自注釋的。注釋格式盡量統(tǒng)一,建議使用“/*……*/”。注釋應考慮程序易讀及外觀排版的因素,使用的語言若是中、英兼有的,建議多使用中文,除非能用非常流利準確的英文表達。2注釋避免在一行代碼或表達式的中間插入注釋。133標識符命名標識符的命名要清晰、明了,有明確含義,同時使用完整的單詞或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解。自己特有的命名風格,要自始至終保持一致,不可來回變化。命名中若使用特殊約定或縮寫,則要有注釋說明。對于變量命名,禁止取單個字符(如i、j、k...),建議除了要有具體含義外,還能表明其變量類型、數(shù)據(jù)類型等,但i、j、k作局部循環(huán)變量是允許的。3標識符命名標識符的命名要清晰、明了,有明確含義,同時使143標識符命名命名規(guī)范必須與所使用的系統(tǒng)風格保持一致,并在同一項目中統(tǒng)一,比如采用UNIX的全小寫加下劃線的風格或大小寫混排的方式,不要使用大小寫與下劃線混排的方式,用作特殊標識如標識成員變量或全局變量的m_和g_,其后加上大小寫混排的方式是允許的。除非必要,不要用數(shù)字或較奇怪的字符來定義標識符。除了編譯開關/頭文件等特殊應用,應避免使用_EXAMPLE_TEST_之類以下劃線開始和結尾的定義。3標識符命名命名規(guī)范必須與所使用的系統(tǒng)風格保持一致,并在154可讀性注意運算符的優(yōu)先級,并用括號明確表達式的操作順序,避免使用默認優(yōu)先級。避免使用不易理解的數(shù)字,用有意義的標識來替代。涉及物理狀態(tài)或者含有物理意義的常量,不應直接使用數(shù)字,必須用有意義的枚舉或宏來代替。源程序中關系較為緊密的代碼應盡可能相鄰。不要使用難懂的技巧性很高的語句,除非很有必要時。4可讀性注意運算符的優(yōu)先級,并用括號明確表達式的操作順序165變量、結構仔細定義并明確公共變量的含義、作用、取值范圍及公共變量間的關系。去掉沒必要的公共變量。明確公共變量與操作此公共變量的函數(shù)或過程的關系,如訪問、修改及創(chuàng)建等。防止局部變量與公共變量同名。嚴禁使用未經(jīng)初始化的變量作為右值。結構的功能要單一,是針對一種事務的抽象。不要設計面面俱到、非常靈活的數(shù)據(jù)結構。不同結構間的關系不要過于復雜。5變量、結構仔細定義并明確公共變量的含義、作用、取值范圍176函數(shù)、過程對所調用函數(shù)的錯誤返回碼要仔細、全面地處理。明確函數(shù)功能,精確(而不是近似)地實現(xiàn)函數(shù)設計。編寫可重入函數(shù)時,應注意局部變量的使用。編寫可重入函數(shù)時,若使用全局變量,則應通過關中斷、信號量(即P、V操作)等手段對其加以保護。函數(shù)的規(guī)模盡量限制在200行以內。一個函數(shù)僅完成一件功能。為簡單功能編寫函數(shù)。不要設計多用途面面俱到的函數(shù)。6函數(shù)、過程對所調用函數(shù)的錯誤返回碼要仔細、全面地處理。186函數(shù)、過程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論