版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、a,1,編程規(guī)范,a,2,1,程序員花更多的時(shí)間調(diào)試、維護(hù)和升級(jí)現(xiàn)有代碼,而不是編寫新代碼。2、程序最重要的是準(zhǔn)確性,其次是可維護(hù)性,最后是效率;3、學(xué)習(xí)編寫美麗的程序和學(xué)習(xí)正確編寫代碼一樣重要;4.不管違反了什么規(guī)則,都要使程序盡可能簡(jiǎn)單。5、運(yùn)行但沒有注釋的程序,遲早會(huì)有人修改或升級(jí)程序,因此就像等待爆炸的定時(shí)炸彈;好的風(fēng)格應(yīng)該成為習(xí)慣。如果您在開始編寫代碼時(shí)對(duì)樣式問題感興趣,請(qǐng)花時(shí)間檢查和改進(jìn),這樣您就可以逐漸養(yǎng)成良好的編程習(xí)慣。這種習(xí)慣自然形成的話,潛意識(shí)會(huì)幫助你照顧很多細(xì)節(jié)問題,甚至在工作壓力下寫的代碼也會(huì)變得更好。編程規(guī)范的一些原則,a,3,float b,c10;void ABC
2、(void) float zong fen=0;int d;for(d=0);d 0)zong fen=cb;b=zongfen/10;這個(gè)程序在做什么?這個(gè)程序有錯(cuò)誤嗎?這個(gè)節(jié)目有什么不好的寫作風(fēng)格嗎?可能導(dǎo)致什么后果?程序?qū)嵗?,a,4,float b,c10;void ABC(void) float zong fen=0;int d;for(d=0);d 0)zong fen=cb;b=zongfen/10;,有什么改進(jìn)嗎?你認(rèn)為有需要改進(jìn)的地方嗎?a、5、1、標(biāo)識(shí)符、標(biāo)識(shí)符的名稱具有明確、明確和明確的含義。使用整個(gè)單詞或大家基本都能理解的縮寫,避免引起誤會(huì)。標(biāo)識(shí)符應(yīng)使用英語(yǔ)單詞或其組合,
3、不要使用漢語(yǔ)拼音命名。無效的名稱: int a/age 1/Xue shengage;名為: int StudentAge。1.1變量名1.1.1其他范圍變量的命名局部變量以小寫字母命名。全局變量以首字母大寫(駱駝式)命名。定義類型和宏定義常量以大寫字母命名。變量的范圍越大,其名稱必須包含的信息越多。局部變量:int student _ age全局變量:int StudentAge巨集定義常數(shù):#define STUDENT_NUM 10類型定義:typedef INT16S int,a,6,1.1.2不同類型變量的命名(匈牙利命名法)匈牙利命名法是命名慣例。匈牙利命名法將變量類型(或預(yù)期使用
4、)等信息編碼為變量名。一些常用匈牙利命名方法前綴數(shù)據(jù)類型前綴示例char c cinchar unsigned char UC UC ucoutchar int I ireturn value unsigned int ui ui control word long l lnum RECs float f flexngth do Uble d dard范例:int * pDay/全局指針int * pday/本地指針int * * ppDay/指針1.1.4模塊中使用的變量(變量名開頭需要模塊名)。示例:模塊KEY。c中的變量:int iKeyNumint ikeynumuff10;一個(gè)、標(biāo)識(shí)
5、符、a、8、一個(gè)、標(biāo)識(shí)符、1.2函數(shù)名函數(shù)名的名稱必須大寫首字母,如全局變量(駱駝式)。函數(shù)名稱的開頭必須以“模塊名稱_”格式顯示函數(shù)所屬的模塊。范例:(1)KEY。c模塊的函數(shù)void KEY _ Init(void);void KEY _ start scan(void);void KEY _ stop scan(void);(2)TMR。c模塊的函數(shù)void TMR _ Init(void);void TMR _ Start(TMR _ ID TMR);void TMR _ Stop(TMR _ ID TMR);a,9,2,排版,名字的合理選擇有助于理解程序。同樣,要盡可能一目了然地寫門
6、。保持書桌整潔就像容易找到東西一樣。以2.1縮進(jìn)格式在代碼函數(shù)或進(jìn)程的開始、結(jié)構(gòu)定義和循環(huán)、判斷等語(yǔ)句中寫入代碼??s進(jìn)的空格為4個(gè)。不使用TAB鍵,而是使用空格鍵。程序塊中的邊界字符(“”和“”)必須單獨(dú)使用,每行一個(gè)。范例:for(I=0;I 0) /零點(diǎn)total _ score=fs coreI; 、a、10、2、排版、2.2其他寫格式2.2.1長(zhǎng)語(yǔ)句長(zhǎng)語(yǔ)句(多于80個(gè)字符)必須分成多行進(jìn)行寫;長(zhǎng)表達(dá)式從新行開頭的低優(yōu)先級(jí)運(yùn)算符中分割新行。新劃分的行要適當(dāng)縮進(jìn),排版整齊,語(yǔ)句可讀。一行不能寫多個(gè)短語(yǔ)句。也就是說,每行不能只寫一個(gè)門。例如:修改前:meat data . transtdir
7、=transtdir* set data . filter transtdir*(1-set data . filter)修改后:meat data . transtdir=transtdir* set data . filter transtdir*(1-set data . filter);a,11,2,排版,2.2.2空行和使用空格相對(duì)獨(dú)立的程序塊之間,變量定義后,語(yǔ)句必須在開始之前添加空行;逗號(hào),分號(hào)后僅添加空格。在雙目運(yùn)算符(如比較運(yùn)算符、賦值運(yùn)算符、算術(shù)運(yùn)算符、邏輯運(yùn)算符和位域運(yùn)算符)的前后添加空格?!?!”,“”,“-”,“-”,“/無效樣式,a,12,3,表達(dá)式和基本語(yǔ)句,3.1
8、運(yùn)算表達(dá)式不會(huì)編寫太復(fù)雜的復(fù)合表達(dá)式;例如,如果I=a=b代碼行中有更多運(yùn)算符,請(qǐng)使用括號(hào)確定表達(dá)式的操作順序,不要使用默認(rèn)優(yōu)先級(jí)。例如,if(a | b # if LCD _ mode=_ VGA x=150(int16u)col * 8;# elif x=(int 16u)col * 8;# endif return(x);代碼的數(shù)量(29、8、150)意味著什么?這種神秘?cái)?shù)字給程序的閱讀和維護(hù)增加了很大的困難。a,18,#define LCD_MAX_COL 29 /LCD最大列數(shù)#define LCD_START_X 150 /LCD起始X坐標(biāo)#define LCDif(col LCD
9、 _ max _ col)col=LCD _ max _ col;# if LCD _ mode=_ VGA x=LCD _ start _ x(int 16u)col * LCD _ col _ width;# elif x=(int 16 u)col * LCD _ col _ width;# endif return(x);,4,常數(shù),a,19,4,常數(shù),4.1不使用常數(shù),程序直接編寫數(shù)字或字符串為什么會(huì)有問題?(1)方案的可讀性(可理解性)惡化。程序員會(huì)忘記那個(gè)數(shù)字或字符串是什么意思,用戶更不知道它來自哪里,代表什么。(2)在程序的多個(gè)地方輸入相同的數(shù)字或字符串很難保證不會(huì)發(fā)生寫錯(cuò)誤。
10、(3)修改數(shù)字或字符串時(shí),在很多地方進(jìn)行修改,很麻煩,容易出錯(cuò)。如何定義4.2常量(1)#define宏定義(2)const常量(3)enum枚舉,a,20,4.3 #define宏定義使用最廣泛,例如# defined max _ tefine4.4 const常量,例如const int MAX _ STUDENT=100優(yōu)點(diǎn):const常量有數(shù)據(jù)類型,而宏常量沒有數(shù)據(jù)類型。編譯器可以進(jìn)行電子的類型安全檢查。缺點(diǎn):定義陣列時(shí),const常數(shù)不能用作陣列長(zhǎng)度。示例:float student heightmax _ student;/錯(cuò)誤,4,常量,a,21,4.5枚舉enum red,bl
11、ue,green,yellow,white,black,color _ num ;優(yōu)點(diǎn): (1)適用于一次定義批處理常量,特別是在數(shù)字連續(xù)的情況下。(2)枚舉常量可以用作數(shù)組長(zhǎng)度,例如float BallSizeCOLOR _ NUM;缺點(diǎn):除了整數(shù)(如float和double)之外,不能定義其他類型的常量。4,常數(shù),a,22,運(yùn)行但沒有注釋的程序就像等待爆炸的定時(shí)炸彈;有注釋,但注釋不正確的話,炸彈的當(dāng)量更大。主席要準(zhǔn)確易懂,不要讓主席有異議。錯(cuò)誤的注釋不僅無益,而且有害。5.1注釋的基本概念c語(yǔ)言的注釋文字為“/*.*/。對(duì)于c語(yǔ)言,對(duì)程序塊的注釋通常為“/*.*/,行注釋通常為/.”。注
12、釋通常包括(1)版本、版權(quán)通知和(2)函數(shù)接口說明;(3)重要的代碼行或段落提示。注釋有助于理解代碼,但是請(qǐng)注意不要使用太多注釋。,5,注釋,a,23,5,注釋,5.2注釋的精確邊緣寫代碼邊緣注釋,修改代碼并修改相應(yīng)的注釋以確保注釋和代碼的一致性。不再有用的注釋將被刪除。主席要準(zhǔn)確易懂,不要讓主席有異議。錯(cuò)誤的注釋不僅無益,而且有害。避免在注釋中使用縮寫。特別是縮寫不是經(jīng)常使用的。注釋必須與描述的代碼相鄰,可以位于代碼的上方或右側(cè),不能位于代碼的下方。5.3變量,常量的注釋是所有具有物理意義的變量,對(duì)常量定義評(píng)論時(shí),必須注釋并解釋其物理意義。變量、常量、宏的注釋必須位于其上方相鄰的位置或右側(cè)。
13、必須注釋掉數(shù)據(jù)結(jié)構(gòu)定義和聲明(包括數(shù)組、結(jié)構(gòu)、類、枚舉等)。數(shù)據(jù)結(jié)構(gòu)的注釋必須與其上方相鄰,且不能位于下方。結(jié)構(gòu)中每個(gè)成員的說明位于此成員的右側(cè)。將注釋與同一結(jié)構(gòu)中的其他成員對(duì)齊。全局變量需要更詳細(xì)的說明,如有關(guān)其功能、值范圍、要訪問的函數(shù)或進(jìn)程、訪問時(shí)的注意事項(xiàng)等的說明。a、24、5、注釋,例如#define GUI_TXT_DISP_MOD 0 x0C /文本框內(nèi)部文本顯示模式# define GUI _ txt _ right/外觀INT8U * pTxt/文本INT8U TxtFont/字體INT8U Sta/文本框狀態(tài)模式INT8U WorkMod/操作模式 TXT _ BOX,a,
14、25,5,注釋,5.4函數(shù)的注釋/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *輸入?yún)?shù): pbox指向可編輯文本框的指針* *返回參數(shù):無* *作者3360 liy-TJ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Void GUI _ edit txtbox _ left(edit _ txt _ box * pbox) .、a、26、5.5/*/和/文件標(biāo)題,函數(shù)標(biāo)題注釋使用“/*/”,函數(shù)內(nèi)部注釋使用“/”,函數(shù)內(nèi)部注釋使用“* * * * * * * * * * * * * * arguments : none * * returns : key downtime in milliseconds * * Author
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防安全知識(shí)培訓(xùn)考試卷及答案(供參考)
- 新入崗進(jìn)修生等醫(yī)院感染防控培訓(xùn)考核試題及答案
- 物業(yè)管理員高級(jí)模擬試題與答案
- 社區(qū)考試筆試題庫(kù)及答案
- 工程監(jiān)理自考試卷及答案
- 財(cái)會(huì)管理考試題及答案
- 人體生理學(xué)各章節(jié)復(fù)習(xí)題及答案(X頁(yè))
- 檢驗(yàn)技師考試《臨床檢驗(yàn)基礎(chǔ)》試題及答案
- 昆明市祿勸彝族苗族自治縣輔警公共基礎(chǔ)知識(shí)題庫(kù)(附答案)
- 茶藝師茶史講解題庫(kù)及答案
- 云南省2026年普通高中學(xué)業(yè)水平選擇性考試調(diào)研測(cè)試歷史試題(含答案詳解)
- GB 4053.3-2025固定式金屬梯及平臺(tái)安全要求第3部分:工業(yè)防護(hù)欄桿及平臺(tái)
- 2026中央廣播電視總臺(tái)招聘124人參考筆試題庫(kù)及答案解析
- JG/T 3030-1995建筑裝飾用不銹鋼焊接管材
- 項(xiàng)目管理學(xué)課件戚安邦全
- 羽毛球二級(jí)裁判員試卷
- 通風(fēng)與空調(diào)監(jiān)理實(shí)施細(xì)則abc
- JJF 1614-2017抗生素效價(jià)測(cè)定儀校準(zhǔn)規(guī)范
- GB/T 5237.3-2017鋁合金建筑型材第3部分:電泳涂漆型材
- GB/T 3625-2007換熱器及冷凝器用鈦及鈦合金管
- GA 1016-2012槍支(彈藥)庫(kù)室風(fēng)險(xiǎn)等級(jí)劃分與安全防范要求
評(píng)論
0/150
提交評(píng)論