




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1、嚴(yán)格采用階梯層次組織程序代碼:各層次縮進(jìn)的分格采用VC的缺省風(fēng)格,即每層次縮進(jìn)為4格,括號(hào)位于下一行。要求相匹配的大括號(hào)在同一列,對(duì)繼行則要求再縮進(jìn)4格。例如:2、提示信息字符串的位置在程序中需要給出的提示字符串,為了支持多種語言的開發(fā),除了一些給調(diào)試用的臨時(shí)信息外,其他所有的提示信息必須定義在資源中。3、對(duì)變量的定義,盡量位于函數(shù)的開始位置。二、命名規(guī)則:1、變量名的命名規(guī)則、變量的命名規(guī)則要求用匈牙利法則”。即開頭字母用變量的類型,其余部分用變量的英文意思或其英文意思的縮寫,盡量避免用中文的拼音,要求單詞的第一個(gè)字母應(yīng)大寫。即:變量名=變量類型+變量的英文意思(或縮寫)對(duì)非通用的變量,
2、在定義時(shí)加入注釋說明,變量定義盡量可能放在函數(shù)的開始處。見下表:bool(BOOL)用b開頭bisParentbyte(BYTE)用by開頭byFlagshort(int)用n開頭nStepCountlong(LONG)用l開頭ISumchar(CHAR)用c開頭cCountfloat(FLOAT)用f開頭fAvgdouble(DOUBLE)用d開頭dDetavoid(VOID)用v開頭vVariantunsignedint(WORD)用w開頭wCountunsignedlong(DWORD)用dw開頭dwBroadHANDLE(HINSTANCE)用h開頭hHandleDWORD用dw開頭d
3、wWordLPCSTR(LPCTSTR)用str開頭strString用0結(jié)尾的字符串用sz開頭szFileName對(duì)未給出的變量類型要求提出并給出命名建議給技術(shù)委員會(huì)。、指針變量命名的基本原則為:對(duì)一重指針變量的基本原則為:“p”變量類型前綴+命名如一個(gè)float*型應(yīng)該表示為pfStat對(duì)多重指針變量的基本規(guī)則為:二重指針:“pp”變量類型前綴+命名三重指針:“ppp”變量類型前綴+命名、全局變量用g_開頭,如一個(gè)全局的長型變量定義為g_lFailCount,即:變量名=g_+變量類型+變量的英文意思(或縮寫)、靜態(tài)變量用s_開頭,如一個(gè)靜態(tài)的指針變量定義為s_plPerv_Inst,即:
4、變量名=s_+變量類型+變量的英文意思(或縮寫)、成員變量用m_開頭,如一個(gè)長型成員變量定義為m_lCount;即:變量名=m_+變量類型+變量的英文意思(或縮寫)、對(duì)枚舉類型(enum)中的變量,要求用枚舉變量或其縮寫做前綴。并且要求用大寫。如:enumcmEMDAYSEMDAYSMONDAY;EMDAYS_TUESDAY;;、對(duì)struct、union、class變量的命名要求定義的類型用大寫。并要加上前綴,其內(nèi)部變量的命名規(guī)則與變量命名規(guī)則一致。結(jié)構(gòu)一般用S開頭如:structScmNPointintnX;點(diǎn)的X位置intnY;點(diǎn)的Y位置I_;聯(lián)合體一般用U開頭如:unionUcmLPo
5、intlonglX;longlY;類一般用C開頭如:classCcmFPointpublic:floatfPoint;對(duì)一般的結(jié)構(gòu)應(yīng)該定義為類模板,為以后的擴(kuò)展性考慮如:templateclassCcmTVector3dpublic:TYPEx,y,z;;、對(duì)常量(包括錯(cuò)誤的編碼)命名,要求常量名用大寫,常量名用英文表達(dá)其意思。如:#defineCM_FILE_NOT_FOUNDCMMAKEHR(0X20B)其中CM表示類別。、對(duì)const的變量要求在變量的命名規(guī)則前加入c,即:c+變量命名規(guī)則;例如:constchar*cszFileName;2、函數(shù)的命名規(guī)范:函數(shù)的命名應(yīng)該盡量用英文表達(dá)
6、出函數(shù)完成的功能。遵循動(dòng)賓結(jié)構(gòu)的命名法則,函數(shù)名中動(dòng)詞在前,并在命名前加入函數(shù)的前綴,函數(shù)名的長度不得少于8個(gè)字母。例如:longcmGetDeviceCount();3、函數(shù)參數(shù)規(guī)范:、參數(shù)名稱的命名參照變量命名規(guī)范。、為了提高程序的運(yùn)行效率,減少參數(shù)占用的堆棧,傳遞大結(jié)構(gòu)的參數(shù),一律采用指針或引用方式傳遞。、為了便于其他程序員識(shí)別某個(gè)指針參數(shù)是入口參數(shù)還是出口參數(shù),同時(shí)便于編譯器檢查錯(cuò)誤,應(yīng)該在入口參數(shù)前加入const標(biāo)志。如:cmCopyString(constchar*c_szSource,char*szDest)4、引出函數(shù)規(guī)范:對(duì)于從動(dòng)態(tài)庫引出作為二次開發(fā)函數(shù)公開的函數(shù),為了能與其
7、他函數(shù)以及Windows的函數(shù)區(qū)分,采用類別前綴+基本命名規(guī)則的方法命名。例如:在對(duì)動(dòng)態(tài)庫中引出的一個(gè)圖象編輯的函數(shù)定義為imgFunctionname(其中img為image縮寫)?,F(xiàn)給出三種庫的命名前綴:、對(duì)通用函數(shù)庫,采用cm為前綴。、對(duì)三維函數(shù)庫,采用vr為前綴。、對(duì)圖象函數(shù)庫,采用img為前綴。對(duì)宏定義,結(jié)果代碼用同樣的前綴。5、文件名(包括動(dòng)態(tài)庫、組件、控件、工程文件等)的命名規(guī)范:文件名的命名要求表達(dá)出文件的內(nèi)容,要求文件名的長度不得少于5個(gè)字母,嚴(yán)禁使用象file1,myfile之類的文件名。三、注釋規(guī)范:1、函數(shù)頭的注釋對(duì)于函數(shù),應(yīng)該從功能“,參數(shù)”,返回值”、主要思路”、調(diào)
8、用方法"、自期”六個(gè)方面用如下格式注釋:程序說明開始=/功能:從一個(gè)String中刪除另一個(gè)String。/參數(shù):strByDelete,strToDelete/(入口)strByDelete:被刪除的字符串(原來的字符串)/(出口)strToDelete:要從上個(gè)字符串中刪除的字符串。/返回:找到并刪除返回1,否則返回0。(對(duì)返回值有錯(cuò)誤編碼的要求列出錯(cuò)誤編碼)。/主要思路:本算法主要采用循環(huán)比較的方法來從strByDelete中找到/與strToDelete相匹配的字符串,對(duì)多匹配strByDelete/中有多個(gè)strToDelete子串)的情況沒有處理。請(qǐng)參閱:/書名./調(diào)用方
9、法:./日期:起始日期,如:2000/8/21.9:40-2000/8/23.21:45=函數(shù)名()程序說明結(jié)束、對(duì)于某些函數(shù),其部分參數(shù)為傳入值,而部分參數(shù)為傳出值,所以對(duì)參數(shù)要詳細(xì)說明該參數(shù)是入口參數(shù),還是出口參數(shù),對(duì)于某些意義不明確的參數(shù)還要做詳細(xì)說明(例如:以角度作為參數(shù)時(shí),要說明該角度參數(shù)是以弧度(PI),還是以度為單位),對(duì)既是入口又是出口的變量應(yīng)該在入口和出口處同時(shí)標(biāo)明。等等。、函數(shù)的注釋應(yīng)該放置在函數(shù)的頭文件中,在實(shí)現(xiàn)文件中的該函數(shù)的實(shí)現(xiàn)部分應(yīng)該同時(shí)放置該注釋。、在注釋中應(yīng)該詳細(xì)說明函數(shù)的主要實(shí)現(xiàn)思路、特別要注明自己的一些想法,如果有必要?jiǎng)t應(yīng)該寫明對(duì)想法產(chǎn)生的來由。對(duì)一些模仿的
10、函數(shù)應(yīng)該注釋上函數(shù)的出處。、在注釋中詳細(xì)注明函數(shù)的適當(dāng)調(diào)用方法,對(duì)于返回值的處理方法等。在注釋中要強(qiáng)調(diào)調(diào)用時(shí)的危險(xiǎn)方面,可能出錯(cuò)的地方。、對(duì)日期的注釋要求記錄從開始寫函數(shù)到結(jié)束函數(shù)的測試之間的日期。、對(duì)函數(shù)注釋開始到函數(shù)命名之間應(yīng)該有一組用來標(biāo)識(shí)的特殊字符串。如果算法比較復(fù)雜,或算法中的變量定義與位置有關(guān),則要求對(duì)變量的定義進(jìn)行圖解。對(duì)難以理解的算法能圖解盡量圖解。2、變量的注釋:對(duì)于變量的注釋緊跟在變量的后面說明變量的作用。原則上對(duì)于每個(gè)變量應(yīng)該注釋,但對(duì)于意義非常明顯的變量,如:i,j等循環(huán)變量可以不注釋。例如:10nglLineCount/線的根數(shù)。3、文件的注釋:文件應(yīng)該在文件開頭加入
11、以下注釋:/工程:文件所在的項(xiàng)目名。/作者:*,修改者:*/描述:說明文件的功能。/主要函數(shù):/版本:說明文件的版本,完成日期。/修改:說明對(duì)文件的修改內(nèi)容、修改原因以及修改日期。/參考文獻(xiàn):/為了頭文件被重復(fù)包含要求對(duì)頭文件進(jìn)行定義如下:#ifndef_FILENAME_H_#define_FILENAME_H_其中FILENAME為頭文件的名字。4、其他注釋:在函數(shù)內(nèi)我們不需要注釋每一行語句。但必須在各功能模塊的每一主要部分之前添加塊注釋,注釋每一組語句,在循環(huán)、流程的各分支等,盡可能多加以注釋。其中的循環(huán)、條件、選擇等位置必須注釋。對(duì)于前后順序不能顛倒的情況,建議在注釋中增加序號(hào)。例如:
12、在其他順序執(zhí)行的程序中,每隔35行語句,必須加一個(gè)注釋,注明這一段語句所組成的小模塊的作用。對(duì)于自己的一些比較獨(dú)特的思想要求在注釋中標(biāo)明。四、程序健壯性:1、函數(shù)的返回值規(guī)范:對(duì)于函數(shù)的返回位置,盡量保持單一性,即一個(gè)函數(shù)盡量做到只有一個(gè)返回位置。(單入口單出口)。要求大家統(tǒng)一函數(shù)的返回值,所有的函數(shù)的返回值都將以編碼的方式返回。例如編碼定義如下:#defineCMPOINTISNULLCMMAKEHR(0X200)建議函數(shù)實(shí)現(xiàn)如下:long函數(shù)名(參數(shù),)longlResult;保持錯(cuò)誤號(hào)lResult=CMOK;如果參數(shù)有錯(cuò)誤則返回錯(cuò)誤號(hào)if(參數(shù)=NULL)lResult=CM_POINT_IS_NULL;gotoEND;END:returnIResult;2、關(guān)于goto的應(yīng)用:對(duì)goto語句的應(yīng)用,我們要求盡量少用goto語句。對(duì)一定要用的地方要求只能向后轉(zhuǎn)移。3、資源變量的處理(資源變量是指消耗系統(tǒng)資源的變量):對(duì)資源變量一定賦初值。分配的資源在用完后必須馬上釋放,并重新賦值。4、對(duì)復(fù)雜的條件判斷,為了程序的可讀性,應(yīng)該盡量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CCBD 28-2024品牌評(píng)價(jià) 新能源汽車
- T/CNFIA 218-2024調(diào)味咖啡豆(粉)
- T/CIQA 78-2024再生鋼鐵原料取制樣操作規(guī)范
- 【7語期末】宣城市2023-2024學(xué)年七年級(jí)下學(xué)期期末試卷語文
- 養(yǎng)生館合伙經(jīng)營合同5篇
- 【合同范文】桑苗訂單合同6篇
- 教室環(huán)境衛(wèi)生管理規(guī)范
- 有效離婚協(xié)議書3篇
- 導(dǎo)電銀漿項(xiàng)目績效評(píng)估報(bào)告
- 幼兒園手足口病預(yù)防管理要點(diǎn)
- 小學(xué)生防跟蹤安全教育
- DB32/T 4880-2024民用建筑碳排放計(jì)算標(biāo)準(zhǔn)
- 浙江大學(xué)研究生導(dǎo)師培訓(xùn)心得體會(huì)
- 勞動(dòng)與社會(huì)保障專業(yè)大學(xué)生職業(yè)生涯發(fā)展
- DB11T 2335-2024 既有建筑外門窗改造及驗(yàn)收技術(shù)標(biāo)準(zhǔn)
- 外研版(三起)小學(xué)英語三年級(jí)下冊Unit 1 Animal friends Get ready start up 課件
- 數(shù)碼相機(jī)-SONY索尼-α200(DSLR-A200)(快速入門指南)說明書
- 2024年中國海鮮水餃?zhǔn)袌稣{(diào)查研究報(bào)告
- 模擬試卷(7)-【中職專用】2025年職教高考語文沖刺模擬卷(職教高考)解析版
- 【MOOC】成本會(huì)計(jì)學(xué)-西北農(nóng)林科技大學(xué) 中國大學(xué)慕課MOOC答案
- 《反洗錢培訓(xùn)》課件
評(píng)論
0/150
提交評(píng)論