下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、、靜態(tài)變量用 s_開(kāi)頭,如一個(gè)靜態(tài)的指針變量定義為s_plPerv_lnst,即:變量名=s_+變程序設(shè)計(jì)規(guī)范一、程序風(fēng)格:1、嚴(yán)格采用階梯層次組織程序代碼:各層次縮進(jìn)的分格采用 VC的缺省風(fēng)格,即每層次縮進(jìn)為 4格,括號(hào)位于下一行。要求相 匹配的大括號(hào)在同一列,對(duì)繼行則要求再縮進(jìn)4格。例如:2、 提示信息字符串的位置二在程序中需要給出的提示字符串,為了支持多種語(yǔ)言的開(kāi)發(fā),除了一些給調(diào)試用的臨時(shí)信息外,其他所有的提示信息必須定義在資源中。3、對(duì)變量的定義,盡量位于函數(shù)的開(kāi)始位置。二、命名規(guī)則:1、變量名的命名規(guī)則 、變量的命名規(guī)則要求用匈牙利法則”即開(kāi)頭字母用變量的類型,其余部分用變量的英文意
2、思或其英文意思的縮寫(xiě),盡量避免用中文的拼音,要求單詞的第一個(gè)字母應(yīng)大寫(xiě)。即:變量名=變量類型+變量的英文意思(或縮寫(xiě))對(duì)非通用的變量,在定義時(shí)加入注釋說(shuō)明,變量定義盡量可能放在函數(shù)的開(kāi)始處。 見(jiàn)下表:bool(BOOL)用 b 開(kāi)頭 bIs Pare ntbyte(BYTE)用 by 開(kāi)頭 byFlagshort(int)用 n 開(kāi)頭 nStepCountIong(LONG) 用 I 開(kāi)頭 ISum char(CHAR)用 c 開(kāi)頭 cCount float(FLOAT)_用 f 開(kāi)頭 fAvg double(DOUBLE)用 d 開(kāi)頭 dDeta void(VOID)用 v 開(kāi)頭 vVari
3、antunsigned int ( WORD )用 w 開(kāi)頭 wCount unsigned Iong(DWORD)用 dw 開(kāi)頭 dwBroadHANDLE ( HINSTANCE)用 h 開(kāi)頭hHa ndleDWORD 用 dw 開(kāi)頭 dwWordLPCSTR(LPCTSTR)用 str 開(kāi)頭 strString用0結(jié)尾的字符串用 SZ開(kāi)頭szFileName對(duì)未給出的變量類型要求提出并給出命名建議給技術(shù)委員會(huì)。 、指針變量命名的基本原則為: 對(duì)一重指針變量的基本原則為:“ p”變量類型前綴+命名如一個(gè)float*型應(yīng)該表示為 pfStat對(duì)多重指針變量的基本規(guī)則為:二重指針:“ pp”變
4、量類型前綴+命名三重指針:“ PPP ”變量類型前綴+命名、全局變量用 g開(kāi)頭,如一個(gè)全局的長(zhǎng)型變量定義為g IFailCount,即:變量名=g +變量類型+變量的英文意思(或縮寫(xiě))量類型+變量的英文意思(或縮寫(xiě)) 、成員變量用 m_開(kāi)頭,如一個(gè)長(zhǎng)型成員變量定義為m_ICount;即:變量名=m_+變量類型+變量的英文意思(或縮寫(xiě))并且要求用大寫(xiě)。 、對(duì)枚舉類型(enum )中的變量,要求用枚舉變量或其縮寫(xiě)做前綴。女口: enum cmEMDAYSEMDAYS_MONDAY;EMDAYS_TUESDAY;; I、對(duì)struct、union、class變量的命名要求定義的類型用大寫(xiě)。并要加上前
5、綴,其內(nèi)部 變量的命名規(guī)則與變量命名規(guī)則一致。結(jié)構(gòu)一般用S開(kāi)頭女口: struct ScmNPointintnX;/點(diǎn)的X位置int nY; II點(diǎn)的Y位置jO聯(lián)合體一般用U開(kāi)頭女 口 : union UcmLPointTnlong IX;long lY; I類一般用C開(kāi)頭女口:class CcmFPointpublic:float fPoi nt; I對(duì)一般的結(jié)構(gòu)應(yīng)該定義為類模板,為以后的擴(kuò)展性考慮女口:temp lateclass CcmTVector3dpublic:TYPE x,y, z;; I 、對(duì)常量(包括錯(cuò)誤的編碼)命名,要求常量名用大寫(xiě),常量名用英文表達(dá)其意思。如:#defin
6、e CM_FILE_NOT_FOUND CMMAKEHR(0X20B)其中 CM 表示類別。 、對(duì)const的變量要求在變量的命名規(guī)則前加入c,即:c+變量命名規(guī)則;例如:const char* c_szFileName;2、函數(shù)的命名規(guī)范:函數(shù)名中函數(shù)的命名應(yīng)該盡量用英文表達(dá)出函數(shù)完成的功能。遵循動(dòng)賓結(jié)構(gòu)的命名法則, 動(dòng)詞在前,并在命名前加入函數(shù)的前綴,函數(shù)名的長(zhǎng)度不得少于8個(gè)字母。例如:long cmGetDevice Count();3、函數(shù)參數(shù)規(guī)范: 、參數(shù)名稱的命名參照變量命名規(guī)范。 、為了提高程序的運(yùn)行效率,減少參數(shù)占用的堆棧,傳遞大結(jié)構(gòu)的參數(shù),一律采用指針 或引用方式傳遞。同時(shí)便
7、于編譯器檢 、為了便于其他程序員識(shí)別某個(gè)指針參數(shù)是入口參數(shù)還是出口參數(shù),查錯(cuò)誤,應(yīng)該在入口參數(shù)前加入con st標(biāo)志。如:cmC op yStri ng(c onst char * c_szSource, char * szDest)Windows 的函4、引出函數(shù)規(guī)范:對(duì)于從動(dòng)態(tài)庫(kù)引出作為二次開(kāi)發(fā)函數(shù)公開(kāi)的函數(shù),為了能與其他函數(shù)以及 數(shù)區(qū)分,采用類別前綴+基本命名規(guī)則的方法命名。例如:在對(duì)動(dòng)態(tài)庫(kù)中引出的一個(gè)圖象編輯的函數(shù)定義為 imgFunctionname( 其中img 為image 縮寫(xiě))。|現(xiàn)給出三種庫(kù)的命名前綴: 、對(duì)通用函數(shù)庫(kù),采用cm為前綴。 、對(duì)三維函數(shù)庫(kù),采用vr為前綴。 _
8、 、對(duì)圖象函數(shù)庫(kù),采用img為前綴。對(duì)宏定義,結(jié)果代碼用同樣的前綴。I5、文件名(包括動(dòng)態(tài)庫(kù)、組件、控件、工程文件等)的命名規(guī)范:文件名的命名要求表達(dá)出文件的內(nèi)容,要求文件名的長(zhǎng)度不得少于_5個(gè)字母,嚴(yán)禁使用象file1,myfile 之類的文件名。三、注釋規(guī)范:1、函數(shù)頭的注釋對(duì)于函數(shù),應(yīng)該從功能”參數(shù)”返回值”、主要思路”調(diào)用方法”、日期”六個(gè)方面用 如下格式注釋:/程序說(shuō)明開(kāi)始/=/功能:從一個(gè) String中刪除另一個(gè) String 。/ 參數(shù):strByDelete,strToDelete(入口) StrByDelete: 被刪除的字符串(原來(lái)的字符串) (出口)strToDelet
9、e:要從上個(gè)字符串中刪除的字符串。strByDelete 中找到返回:找到并刪除返回1,否則返回0。(對(duì)返回值有錯(cuò)誤編碼的要 求列出錯(cuò)誤編碼)。 主要思路:本算法主要采用循環(huán)比較的方法來(lái)從/與strToDelete相匹配的字符串,對(duì)多匹配strByDelete/中有多個(gè) strToDelete 子串)的情況沒(méi)有處理。請(qǐng)參閱:/書(shū)名調(diào)用方法:日期:起始日期,如:2000/8/21.9:40-2000/8/23.21:45/=函數(shù)名()II程序說(shuō)明結(jié)束 、對(duì)于某些函數(shù),其部分參數(shù)為傳入值,而部分參數(shù)為傳出值,所以對(duì)參數(shù)要詳細(xì)說(shuō)明 該參數(shù)是入口參數(shù),還是出口參數(shù),對(duì)于某些意義不明確的參數(shù)還要做詳細(xì)說(shuō)
10、明(例如:以角度作為參數(shù)時(shí),要說(shuō)明該角度參數(shù)是以弧度(PI),還是以度為單位),對(duì)既是入口又是出口的變量應(yīng)該在入口和出口處同時(shí)標(biāo)明。等等。在實(shí)現(xiàn)文件中的該函數(shù)的實(shí)現(xiàn)部分應(yīng)該同時(shí) 、函數(shù)的注釋?xiě)?yīng)該放置在函數(shù)的頭文件中: 放置該注釋。 、在注釋中應(yīng)該詳細(xì)說(shuō)明函數(shù)的主要實(shí)現(xiàn)思路、特別要注明自己的一些想法,如果有必要?jiǎng)t應(yīng)該寫(xiě)明對(duì)想法產(chǎn)生的來(lái)由。對(duì)一些模仿的函數(shù)應(yīng)該注釋上函數(shù)的出處。 、在注釋中詳細(xì)注明函數(shù)的適當(dāng)調(diào)用方法,對(duì)于返回值的處理方法等。在注釋中要強(qiáng)調(diào) 調(diào)用時(shí)的危險(xiǎn)方面,可能出錯(cuò)的地方。 、對(duì)日期的注釋要求記錄從開(kāi)始寫(xiě)函數(shù)到結(jié)束函數(shù)的測(cè)試之間的日期。 、對(duì)函數(shù)注釋開(kāi)始到函數(shù)命名之間應(yīng)該有一組用來(lái)
11、標(biāo)識(shí)的特殊字符串。如果算法比較復(fù)雜,或算法中的變量定義與位置有關(guān),則要求對(duì)變量的定義進(jìn)行圖解。對(duì) 難以理解的算法能圖解盡量圖解。2、變量的注釋:但對(duì)對(duì)于變量的注釋緊跟在變量的后面說(shuō)明變量的作用。原則上對(duì)于每個(gè)變量應(yīng)該注釋, 于意義非常明顯的變量,如:i,j等循環(huán)變量可以不注釋。long ILineCount / 線的根數(shù)。例如:3、文件的注釋:文件應(yīng)該在文件開(kāi)頭加入以下注釋:IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII工程:文件所在的項(xiàng)目名。II作者:*,修改者:*II描述:說(shuō)明文件的功能。II主
12、要函數(shù):II版本:說(shuō)明文件的版本,完成日期。/修改:說(shuō)明對(duì)文件的修改內(nèi)容、修改原因以及修改日期。II參考文獻(xiàn):/ I 為了頭文件被重復(fù)包含要求對(duì)頭文件進(jìn)行定義如下:#ifndef _FILENAME_H_#defi ne _FILENAME_H_ 其中FILENAME為頭文件的名字。4、其他注釋:在函數(shù)內(nèi)我們不需要注釋每一行語(yǔ)句。但必須在各功能模塊的每一主要部分之前添加塊注釋,注釋每一組語(yǔ)句,在循環(huán)、流程的各分支等,盡可能多加以注釋。 其中的循環(huán)、條件、選擇等位置必須注釋。對(duì)于前后順序不能顛倒的情況,建議在注釋中增加序號(hào)。例如:在其他順序執(zhí)行的程序中,每隔35行語(yǔ)句,必須加一個(gè)注釋,注明這一段
13、語(yǔ)句所組成的小模塊的作用。對(duì)于自己的一些比較獨(dú)特的思想要求在注釋中標(biāo)明。四、程序健壯性:1、函數(shù)的返回值規(guī)范:伸入對(duì)于函數(shù)的返回位置,盡量保持單一性,即一個(gè)函數(shù)盡量做到只有一個(gè)返回位置。 口單出口)。要求大家統(tǒng)一函數(shù)的返回值,所有的函數(shù)的返回值都將以編碼的方式返回。 例如編碼定義如下:#defi ne CM_POIN T_IS_NULL CMMAKEHR(0X200)I建議函數(shù)實(shí)現(xiàn)如下:long函數(shù)名(參數(shù),) Ilong Result; /保持錯(cuò)誤號(hào)IResult=CM_OK;如果參數(shù)有錯(cuò)誤則返回錯(cuò)誤號(hào)if(參數(shù)=NULL) IlResult=CM _P OINT_IS_NULL; goto END;END:retur n IResult;2、關(guān)于goto的應(yīng)用:對(duì)goto語(yǔ)句的應(yīng)用,我們要求盡量少用 goto語(yǔ)句。對(duì)一定要用的地方要求只能向后轉(zhuǎn)移。3、 資源變量的處理(資源變量是指消耗系統(tǒng)資源的變量):對(duì)資源變量一定賦初值。分配的資源在用完后必須馬上釋放,并重新賦值
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB12T 578-2015 液化氣體汽車罐車用緊急切斷閥檢驗(yàn)方法與評(píng)定要求
- 新學(xué)期學(xué)習(xí)計(jì)劃范文匯編6篇
- 智能運(yùn)輸系統(tǒng) 體系結(jié)構(gòu) 服務(wù) 編制說(shuō)明
- 全國(guó)連鎖洗衣店分布簡(jiǎn)報(bào) 2024 -洗衣行業(yè)如何搶占商機(jī) 來(lái)看這份連鎖洗衣店選址布局
- 春節(jié)期間通信保障方案
- 雪房子課件教學(xué)課件
- 部編版歷史九年級(jí)上冊(cè)第六單元 第17課《君主立憲制的英國(guó)》說(shuō)課稿
- 高壓電工作業(yè)題庫(kù)
- 寶安區(qū)重點(diǎn)中學(xué)七年級(jí)上學(xué)期語(yǔ)文期中考試試卷
- 購(gòu)銷合同協(xié)議書(shū)范本(2篇)
- 犟龜-完整版獲獎(jiǎng)?wù)n件
- 工業(yè)產(chǎn)品CAD技能三級(jí)試題及其評(píng)分標(biāo)準(zhǔn)
- 多元統(tǒng)計(jì)分析習(xí)題及解答
- 漢語(yǔ)詞性專題練習(xí)(附答案)
- 勞動(dòng)合同-高管補(bǔ)充協(xié)議20110520
- 浙江省溫州市地圖矢量PPT模板(圖文)
- 上海市建設(shè)工程項(xiàng)目管理機(jī)構(gòu)管理人員情況表
- 北師大版二年級(jí)數(shù)學(xué)上冊(cè)第九單元《除法》知識(shí)點(diǎn)梳理復(fù)習(xí)ppt
- 空氣能室外機(jī)保養(yǎng)維護(hù)記錄表
- DB37∕T 5162-2020 裝配式混凝土結(jié)構(gòu)鋼筋套筒灌漿連接應(yīng)用技術(shù)規(guī)程
- 9-2 《第三方過(guò)程評(píng)估淋蓄水檢查內(nèi)容》(指引)
評(píng)論
0/150
提交評(píng)論