




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 1、嚴(yán)格采用階梯層次組織程序代碼: 各層次縮進(jìn)的分格采用VC的缺省風(fēng)格,即每層次縮進(jìn)為4格,括號位于下一行。要求相匹配的大括號在同一列,對繼行則要求再縮進(jìn)4格。例如: 2、提示信息字符串的位置 在程序中需要給出的提示字符串,為了支持多種語言的開發(fā),除了一些給調(diào)試用的臨時信息外,其他所有的提示信息必須定義在資源中。 3、對變量的定義,盡量位于函數(shù)的開始位置。 二、命名規(guī)則: 1、變量名的命名規(guī)則 、變量的命名規(guī)則要求用“匈牙利法則”。即開頭字母用變量的類型,其余部分用變量的英文意思或其英文意思的縮寫,盡量避免用中文的拼音,要求單詞的第一個字母應(yīng)大寫。 即: 變量名=變量類型+變量的英文意思(或
2、縮寫) 對非通用的變量,在定義時加入注釋說明,變量定義盡量可能放在函數(shù)的開始處。 見下表: bool(BOOL) 用b開頭 bIsParent byte(BYTE) 用by開頭 byFlag short(int) 用n開頭 nStepCount long(LONG) 用l開頭 lSum char(CHAR) 用c開頭 cCount float(FLOAT) 用f開頭 fAvg double(DOUBLE) 用d開頭 dDeta void(VOID) 用v開頭 vVariant unsigned int(WORD) 用w開頭 wCount unsigned long(DWORD) 用dw開頭 d
3、wBroad HANDLE(HINSTANCE) 用h開頭 hHandle DWORD 用dw開頭 dwWord LPCSTR(LPCTSTR) 用str開頭 strString 用0結(jié)尾的字符串 用sz開頭 szFileName 對未給出的變量類型要求提出并給出命名建議給技術(shù)委員會。 、指針變量命名的基本原則為: 對一重指針變量的基本原則為: “p”+變量類型前綴+命名 如一個float*型應(yīng)該表示為pfStat 對多重指針變量的基本規(guī)則為: 二重指針: “pp”+變量類型前綴+命名 三重指針: “ppp”+變量類型前綴+命名 . 、全局變量用g_開頭,如一個全局的長型變量定義為g_lFai
4、lCount,即:變量名=g_+變量類型+變量的英文意思(或縮寫) 、靜態(tài)變量用s_開頭,如一個靜態(tài)的指針變量定義為s_plPerv_Inst,即: 變量名=s_+變量類型+變量的英文意思(或縮寫) 、成員變量用m_開頭,如一個長型成員變量定義為m_lCount;即:變量名=m_+變量類型+變量的英文意思(或縮寫) 、對枚舉類型(enum)中的變量,要求用枚舉變量或其縮寫做前綴。并且要求用大寫。 如:enum cmEMDAYS EMDAYS_MONDAY; EMDAYS_TUESDAY; ; 、對struct、union、class變量的命名要求定義的類型用大寫。并要加上前綴,其內(nèi)部變量的命名
5、規(guī)則與變量命名規(guī)則一致。 結(jié)構(gòu)一般用S開頭 如:struct ScmNPoint int nX;/點的X位置 int nY; /點的Y位置 ; 聯(lián)合體一般用U開頭 如: union UcmLPoint long lX; long lY; 類一般用C開頭 如: class CcmFPoint public: float fPoint; ; 對一般的結(jié)構(gòu)應(yīng)該定義為類模板,為以后的擴(kuò)展性考慮 如: template class CcmTVector3d public: TYPE x,y,z; ; 、對常量(包括錯誤的編碼)命名,要求常量名用大寫,常量名用英文表達(dá)其意思。 如:#define CM_F
6、ILE_NOT_FOUND CMMAKEHR(0X20B) 其中CM表示類別。 、對const 的變量要求在變量的命名規(guī)則前加入c_,即:c_+變量命名規(guī)則;例如: const char* c_szFileName; 2、 函數(shù)的命名規(guī)范: 函數(shù)的命名應(yīng)該盡量用英文表達(dá)出函數(shù)完成的功能。遵循動賓結(jié)構(gòu)的命名法則,函數(shù)名中動詞在前,并在命名前加入函數(shù)的前綴,函數(shù)名的長度不得少于8個字母。 例如: long cmGetDeviceCount(); 3、函數(shù)參數(shù)規(guī)范: 、 參數(shù)名稱的命名參照變量命名規(guī)范。 、 為了提高程序的運行效率,減少參數(shù)占用的堆棧,傳遞大結(jié)構(gòu)的參數(shù),一律采用指針或引用方式傳遞。
7、、 為了便于其他程序員識別某個指針參數(shù)是入口參數(shù)還是出口參數(shù),同時便于編譯器檢查錯誤,應(yīng)該在入口參數(shù)前加入const標(biāo)志。如: cmCopyString(const char * c_szSource, char * szDest) 4、引出函數(shù)規(guī)范: 對于從動態(tài)庫引出作為二次開發(fā)函數(shù)公開的函數(shù),為了能與其他函數(shù)以及Windows的函數(shù)區(qū)分,采用類別前綴+基本命名規(guī)則的方法命名。例如:在對動態(tài)庫中引出的一個圖象編輯的函數(shù)定義為 imgFunctionname(其中img為image縮寫)。 現(xiàn)給出三種庫的命名前綴: 、 對通用函數(shù)庫,采用cm為前綴。 、 對三維函數(shù)庫,采用vr為前綴。 、 對
8、圖象函數(shù)庫,采用img為前綴。 對宏定義,結(jié)果代碼用同樣的前綴。 5、文件名(包括動態(tài)庫、組件、控件、工程文件等)的命名規(guī)范: 文件名的命名要求表達(dá)出文件的內(nèi)容,要求文件名的長度不得少于5個字母,嚴(yán)禁使用象file1,myfile之類的文件名。 三、注釋規(guī)范: 1、函數(shù)頭的注釋 對于函數(shù),應(yīng)該從“功能”,“參數(shù)”,“返回值”、“主要思路”、“調(diào)用方法”、“日期”六個方面用如下格式注釋: /程序說明開始 /=/ / 功能: 從一個String 中刪除另一個String。 / 參數(shù): strByDelete,strToDelete / (入口) strByDelete: 被刪除的字符串(原來的字符
9、串) / (出口) strToDelete: 要從上個字符串中刪除的字符串。 / 返回: 找到并刪除返回1,否則返回0。(對返回值有錯誤編碼的要/ 求列出錯誤編碼)。 / 主要思路:本算法主要采用循環(huán)比較的方法來從strByDelete中找到 / 與strToDelete相匹配的字符串,對多匹配strByDelete / 中有多個strToDelete子串)的情況沒有處理。請參閱: / 書名. / 調(diào)用方法:. / 日期:起始日期,如:2000/8/21.9:40-2000/8/23.21:45 /=/ 函數(shù)名() /程序說明結(jié)束 、 對于某些函數(shù),其部分參數(shù)為傳入值,而部分參數(shù)為傳出值,所以
10、對參數(shù)要詳細(xì)說明該參數(shù)是入口參數(shù),還是出口參數(shù),對于某些意義不明確的參數(shù)還要做詳細(xì)說明(例如:以角度作為參數(shù)時,要說明該角度參數(shù)是以弧度(PI),還是以度為單位),對既是入口又是出口的變量應(yīng)該在入口和出口處同時標(biāo)明。等等。 、 函數(shù)的注釋應(yīng)該放置在函數(shù)的頭文件中,在實現(xiàn)文件中的該函數(shù)的實現(xiàn)部分應(yīng)該同時放置該注釋。 、 在注釋中應(yīng)該詳細(xì)說明函數(shù)的主要實現(xiàn)思路、特別要注明自己的一些想法,如果有必要則應(yīng)該寫明對想法產(chǎn)生的來由。對一些模仿的函數(shù)應(yīng)該注釋上函數(shù)的出處。 、 在注釋中詳細(xì)注明函數(shù)的適當(dāng)調(diào)用方法,對于返回值的處理方法等。在注釋中要強(qiáng)調(diào)調(diào)用時的危險方面,可能出錯的地方。 、 對日期的注釋要求記
11、錄從開始寫函數(shù)到結(jié)束函數(shù)的測試之間的日期。 、 對函數(shù)注釋開始到函數(shù)命名之間應(yīng)該有一組用來標(biāo)識的特殊字符串。 如果算法比較復(fù)雜,或算法中的變量定義與位置有關(guān),則要求對變量的定義進(jìn)行圖解。對難以理解的算法能圖解盡量圖解。 2、變量的注釋: 對于變量的注釋緊跟在變量的后面說明變量的作用。原則上對于每個變量應(yīng)該注釋,但對于意義非常明顯的變量,如:i,j等循環(huán)變量可以不注釋。 例如: long lLineCount /線的根數(shù)。 3、文件的注釋: 文件應(yīng)該在文件開頭加入以下注釋: / / 工程: 文件所在的項目名。 / 作者:*,修改者:* / 描述:說明文件的功能。 / 主要函數(shù): / 版本: 說明
12、文件的版本,完成日期。 / 修改: 說明對文件的修改內(nèi)容、修改原因以及修改日期。 / 參考文獻(xiàn): . / 為了頭文件被重復(fù)包含要求對頭文件進(jìn)行定義如下: #ifndef _FILENAME_H_ #define _FILENAME_H_ 其中FILENAME為頭文件的名字。 4、其他注釋: 在函數(shù)內(nèi)我們不需要注釋每一行語句。但必須在各功能模塊的每一主要部分之前添加塊注釋,注釋每一組語句,在循環(huán)、流程的各分支等,盡可能多加以注釋。 其中的循環(huán)、條件、選擇等位置必須注釋。 對于前后順序不能顛倒的情況,建議在注釋中增加序號。 例如: 在其他順序執(zhí)行的程序中,每隔35行語句,必須加一個注釋,注明這一段
13、語句所組成的小模塊的作用。對于自己的一些比較獨特的思想要求在注釋中標(biāo)明。 四、程序健壯性: 1、函數(shù)的返回值規(guī)范: 對于函數(shù)的返回位置,盡量保持單一性,即一個函數(shù)盡量做到只有一個返回位置。(單入口單出口)。 要求大家統(tǒng)一函數(shù)的返回值,所有的函數(shù)的返回值都將以編碼的方式返回。 例如編碼定義如下: #define CM_POINT_IS_NULL CMMAKEHR(0X200) : : 建議函數(shù)實現(xiàn)如下: long 函數(shù)名(參數(shù),) long lResult; /保持錯誤號 lResult=CM_OK; /如果參數(shù)有錯誤則返回錯誤號 if(參數(shù)=NULL) lResult=CM_POINT_IS_NULL; goto END; END: return lResult; 2、關(guān)于goto的應(yīng)用: 對goto語句的應(yīng)用,我們要求盡量少用goto語句。對一定要用的地方要求只能向后轉(zhuǎn)移。 3、資源變量的處理(資源變量是指消耗系統(tǒng)資源的變量): 對資源變量一定賦初值。分配的資源在用完后必須馬上釋放,并重新賦值。 4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦山機(jī)電入井培訓(xùn)課件
- 業(yè)務(wù)能力提升培訓(xùn)
- vloo kup函數(shù)教學(xué)課件
- 中國公民健康素養(yǎng)
- 員工維護(hù)保養(yǎng)培訓(xùn)
- 關(guān)于中藥的培訓(xùn)
- 住院醫(yī)師規(guī)范化培訓(xùn)年度總結(jié)
- 闌尾炎的護(hù)理查房
- 中班健康活動:走丟了怎么辦
- 小學(xué)課堂禮儀培訓(xùn)
- 百度公司環(huán)境管理制度
- 特殊工時制管理制度
- 2024-2025學(xué)年廣東人教版高一英語第二學(xué)期期末練習(xí)卷(含答案)
- 統(tǒng)編版三年級語文下冊同步高效課堂系列第一單元復(fù)習(xí)課件
- DB15-T 4061-2025 沙化土地防護(hù)灌木林(沙柳、梭梭、檸條)碳匯儲量監(jiān)督抽查技術(shù)規(guī)范
- 智能門鎖項目可行性分析報告
- 鄰里糾紛及其合法合理處理課件
- 河南省鄭州市第八中學(xué)2025年七下英語期末經(jīng)典試題含答案
- 中醫(yī)八段錦課件
- 口腔科清洗間管理制度
- 拌合站會議管理制度
評論
0/150
提交評論