軟件開發(fā)編碼規(guī)范_第1頁(yè)
軟件開發(fā)編碼規(guī)范_第2頁(yè)
軟件開發(fā)編碼規(guī)范_第3頁(yè)
軟件開發(fā)編碼規(guī)范_第4頁(yè)
軟件開發(fā)編碼規(guī)范_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件開發(fā)編碼規(guī)范文件編號(hào):生效日期:2011年10月01日版 本 號(hào):V1.0受控狀態(tài):0密 級(jí):機(jī)密總 頁(yè) 數(shù):6正文:2附 錄:0編 制:日 期:審 核:日 期:批 準(zhǔn):日 期:狼奔文 件 編 號(hào)ITCMOR-SWG-7304-01版 本V1.0修 改 狀 態(tài)0軟件開發(fā)編碼規(guī)范生 效 日 期2011年10月01日頁(yè) 碼第6頁(yè),共6頁(yè)1 基本要求1.1 程序結(jié)構(gòu)要求ü 新開發(fā)的類和方法,都采用:在項(xiàng)目(DiaoYan)文件夾下新建分部類的形式(partial ),包括IBLL,BLL和DAL項(xiàng)目,防止以后重新生成代碼的時(shí)候,覆蓋了核心業(yè)務(wù)的代碼。2üü 將App

2、App_Start文件夾下的RouteConfig.cs,找到起始頁(yè)設(shè)置,將其設(shè)置為自己開發(fā)的頁(yè)面,此文件不遷入。ü 盡量使用.NET庫(kù)函數(shù)和公共函數(shù)(無特殊情況不要使用外部方法調(diào)用windows的核心動(dòng)態(tài)鏈接庫(kù))。ü 不要隨意定義全局變量,盡量使用局部變量。1.2 可讀性要求ü 可讀性第一,效率第二ü 保持注釋與代碼完全一致ü 每個(gè)方法必須添加函數(shù)頭注釋說明,說明規(guī)格見規(guī)范ü 定義類、接口、枚舉、結(jié)構(gòu)、委托等類型時(shí),必須添加注釋說明ü 定義常量、變量、屬性、事件等對(duì)象時(shí),必須添加注釋說明ü 處理過程的每個(gè)階段應(yīng)該

3、添加相關(guān)的注釋說明ü 在典型算法前必須添加注釋說明ü 一目了然的語(yǔ)句不添加注釋說明ü 循環(huán)、分支層次不要超過五層1.3 結(jié)構(gòu)化要求ü 禁止出現(xiàn)兩條等價(jià)的支路ü 禁止GOTO語(yǔ)句ü 用if語(yǔ)句來強(qiáng)調(diào)只執(zhí)行兩組語(yǔ)句中的一組,禁止else goto 和 else returnü 用case實(shí)現(xiàn)多路分支。ü 避免從循環(huán)引出多個(gè)出口。ü 避免不必要的分支ü 不要輕易用條件分支去替換邏輯表達(dá)式 1.4 正確性與容錯(cuò)性要求ü 無法證明你的程序沒有錯(cuò)誤,因此在編寫完一段程序后,應(yīng)先回頭檢查&

4、#252; 改一個(gè)錯(cuò)誤時(shí)可能產(chǎn)生新的錯(cuò)誤,因此在修改前首先考慮對(duì)其它程序的影響ü 所有變量在調(diào)用前必須被初始化ü 對(duì)所有的用戶輸入,必須進(jìn)行合法性檢查ü 程序與環(huán)境或狀態(tài)發(fā)生關(guān)系時(shí),必須主動(dòng)去處理發(fā)生的意外事件,如文件能否邏輯鎖定、打印機(jī)是否聯(lián)機(jī)等,對(duì)于明確的錯(cuò)誤,要有明確的容錯(cuò)代碼提示用戶2 C#編程規(guī)范2.1 適用范圍本標(biāo)準(zhǔn)適用于利用Visual C# ,其余語(yǔ)言作參考.。2.2 命名1) 常量命名下表描述了不同類型標(biāo)識(shí)符的大小寫規(guī)則:標(biāo)識(shí)符大小寫示例命名空間Pascalnamespace Com.Techstar.ProductionCenter類Pasca

5、lpublic class DevsList接口Pascalpublic interface ITableModel方法Pascalpublic void UpdateData()屬性PascalPublic int Length事件Pascalpublic event EventHandler Changed;字段Camelprivate string fieldName;枚舉值PascalFileModeAppend參數(shù)Camelpublic void UpdateData(string fieldName)局部變量Camelstring fieldName;´ 避免使用縮寫,如

6、果一定要使用,就謹(jǐn)慎使用。同時(shí),應(yīng)該保留一個(gè)標(biāo)準(zhǔn)縮寫的列表,并且在使用時(shí)保持一致。ü 常量命名必須具有一定的實(shí)際意義ü 常量命名必須全部以大寫字母來撰寫,中間可根據(jù)意義的連續(xù)性用下劃線連接,并添加簡(jiǎn)單的注釋,說明其作用ü 常數(shù)以表明常數(shù)意義的名詞命名,一般不區(qū)分常數(shù)的類型:const single DefaultConcentration = 0.01 2) 變量命名ü 普通類型的變量,使用有意義的名字命名不可使用簡(jiǎn)稱和無意義的名稱諸如A,x1 int index;string customerName;ü 類的私有數(shù)據(jù)成員變量命名以m_開始P

7、rivate int m_Index;ü 方法內(nèi)部的私有變量命名以小寫字母開始,多個(gè)單詞組合出來的變量,則首單詞首字母小寫,后面的單詞首字母均大寫.int index;string customerName;3) 類型命名 ü 類以class聲明的類,都必須以名詞或名詞短語(yǔ)命名,體現(xiàn)類的作用。如: class Indicator 當(dāng)類是一個(gè)特性(Attribute)時(shí),以Attribute結(jié)尾,當(dāng)類是一個(gè)異常(Exception)時(shí),以Exception結(jié)尾: class ColorSetException;class CauseExceptionAttribute;當(dāng)類只

8、需有一個(gè)對(duì)象實(shí)例(全局對(duì)象,比如Application等),必須以Class結(jié)尾,如:class ScreenClassclass SystemClass當(dāng)類只用于作為其他類的基類,根據(jù)情況,以Base結(jié)尾: class IndicatorBase ü 枚舉和結(jié)構(gòu) 同樣必須以名詞或名詞短語(yǔ)命名。最好體現(xiàn)枚舉或結(jié)構(gòu)的特點(diǎn),如: enum ColorButtons '以復(fù)數(shù)結(jié)尾,表明這是一個(gè)枚舉 structure CustomerInfoRecord '以Record結(jié)尾,表明這是一個(gè)結(jié)構(gòu)體 ü 委派類型普通的委派類型以描述動(dòng)作的名詞命名,以體現(xiàn)委派類型實(shí)例的

9、功能: delegate void DataSeeker (string SeekString) 用于事件處理的委派類型,必須以EventHandler結(jié)尾,如: delegate void DataChangedEventHandler(Object Sender,DataChangedEventArgs e) ü 接口 與其他類型不同,接口必須要由I作為前綴,并用形容詞命名,突出表現(xiàn)實(shí)現(xiàn)接口的類將具有什么能力:interface ISortable 4) 方法命名方法都必須以動(dòng)詞或動(dòng)詞短語(yǔ)命名。 void Open(string commandString); int SetCopyNumber(int copyNumber);參數(shù)的命名方法,參考后面“變量的命名方法”。5) 屬性命名原則上,字段(Field)是不能公開的,要訪問字段的值,一般使用屬性。屬性以簡(jiǎn)潔清晰的名詞命名: public int Concentration;public CustomerTypes Customer;6) 事件命名 事件是特殊的屬性,只能在事件處理上下文中使用。命名的原則一般是動(dòng)詞或動(dòng)詞的分詞,通過時(shí)態(tài)表明事件發(fā)生的時(shí)間: event ClickEventHandler Click;e

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論