代碼編寫管理規(guī)定_第1頁
代碼編寫管理規(guī)定_第2頁
代碼編寫管理規(guī)定_第3頁
代碼編寫管理規(guī)定_第4頁
代碼編寫管理規(guī)定_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——代碼編寫管理規(guī)定XXX公司

代碼編寫管理規(guī)定

XXXXX公司

編號

編制

審核

批準

發(fā)布日期

修改記錄

序號文件更改內容

修改日期修改人版本1A

V1.0

(A-新增,M-修改,D-刪除)

目錄1.目的42.范圍43.職責44.術語45.程序46.相關文件317.相關記錄31

11..目的

為確保XXX公司軟件開發(fā)工程代碼編寫過程得到有效管控,以確保代碼的安全性、可讀性、適用性,特制定本規(guī)定。

22..范圍

適用于軟件開發(fā)工程的代碼編寫活動。

33..職責

產品事業(yè)部:負責代碼的編寫、評審。

增值業(yè)務部:負責代碼的編寫、評審。

44..術語

編碼:編碼是信息從一種形式或格式轉換為另一種形式的過程。

55..程序

5.1.編碼規(guī)范5.1.1頁面設計部分Img控件所有展示類圖片都要具有能簡要描述圖片內容的文字說明。

Input控件maxlength:所有INPUT控件都需要制定maxlength屬性,默認值為數(shù)據(jù)庫中對應的字段的長度。

readonly:所有不可更改的信息都要使用readonly屬性。

控件的命名將默認名稱中的序號用有意義的名稱代替,如:存儲按鈕默認為Button1改為Button_Save

5.1.2客戶端程序部分提醒每次操作都應當返回提醒。

錯誤提醒信息的處理所有錯誤提醒信息全部使用中文,標點使用中文半角符號,格式如下:

quot;錯誤:quot;+提醒信息+quot;!quot;

成功提醒信息的處理所有成功提醒信息全部使用中文,標點使用中文半角符號,格式如下:

quot;成功:quot;+提醒信息+quot;!quot;

提交前數(shù)據(jù)的驗證

1)是否為數(shù)字2)長度判斷3)為空判斷刪除數(shù)據(jù)前的提醒所有涉及刪除的操作,在用戶選定以后都要再進行一次確認操作。

5.1.3服務器端程序部分對象的關閉所有數(shù)據(jù)庫和文件對象都要在使用后盡可能早的close,同時賦nothing。

可移植配置管理將可能在部署或升級時可能發(fā)生變化的信息進行動態(tài)設置處理。例如:數(shù)據(jù)適配器中連接串動態(tài)配置。

5.1.4模糊查詢在文本框中輸入!表示匹配單個字符、%表示匹配多個字符。

5.1.5必輸內容標示用*標示必輸內容。

5.2.C#編程規(guī)范5.2.1命名規(guī)范命名總體原則:

將默認名稱中的序號用有意義的名稱代替,如:存儲按鈕默認為Button1改為Button_Save。

其他命名原則是:

1)使名稱足夠長以便有一定的意義,并且足夠短以避免冗長;2)使用簡單讓人理解的名稱,避免簡單被主觀解釋的難懂的名稱;3)盡量減少使用縮寫;4)鑒于大多數(shù)名稱都是通過連接若干單詞構造的,請使用大小寫混合的格式以簡化它們的閱讀。

類以Class聲明的類,都必需以名詞或名詞短語命名,表達類的作用。如:

ClassIndicator當類是一個特性(Attribute)時,以Attribute結尾,當類是一個異常(Exception)時,以Exception結尾:

ClassColorSetException

ClassCauseExceptionAttribute當類只需有一個對象實例(全局對象,譬如Application等),必需以Class結尾,如:

ClassScreenClassClassSystemClass當類只用于作為其他類的基類,根據(jù)狀況,以Base結尾:

MustInheritClassIndicatorBase假如定義的類是一個窗體,那么名字的后面必需加后綴Form,假如是Web窗體,必需加后綴Page:

ClassPrintForm:InheritsForm"*Windows窗體ClassStartPage:InheritsPage"*Web窗體其他原則:

1)使用Pascal大寫。

2)減少類名中縮寫的使用量。

3)不要使用任何類前綴(譬如C)。

4)不要使用帶下劃線的字符。

下面是一些正確命名的類名的例子。

publicclassFileStream{}

publicclassButton{}

publicclassString{}枚舉和結構同樣必需以名詞或名詞短語命名。最好表達枚舉或結構的特點,如:

EnumColorButtons"以復數(shù)結尾,說明這是一個枚舉StructureCustomerInfoRecord"以Record結尾,說明這是一個結構體委派類型普通的委派類型以描述動作的名詞命名,以表達委派類型實例的功能:

DelegateStringDataSeeker(StringSeekString)用于事件處理的委派類型,必需以EventHandler結尾,如:

DelegatevoidDataChangedEventHandler(SenderObject,DataChangedEventArgse)接口與其他類型不同,接口必需要由I作為前綴,并用形容詞命名,突出表現(xiàn)實現(xiàn)接口的類將具有什么能力,如:InterfaceIsortable。

使用Pascal大寫。

減少接口名中縮寫的使用量。

不要使用帶下劃線的字符。

不要在類名前加上前綴C。偶而狀況下,需要在類名前加上I而并不表示它是一個接口。在這種狀況下,只要I后面的字符是小寫就可(例如,

IdentityStore。)

當類是接口的標準執(zhí)行時,定義這一對類/接口組合就要使用相像的名稱。兩個名稱的不同之處只是接口名前有一個I前綴。

下面我們舉個例子,來看看接口IComponent和它的標準執(zhí)行,類Component。

publicinterfaceIComponent{

}

publicclassComponent:IComponent{

}

publicinterfaceIServiceProvider{

}

publicinterfaceIFormatable{

}模塊模塊不是類型,他的名稱除了必需以名詞命名外,必需加以后綴Module,

如:ModuleSharedFunctionsModule。

上述所有規(guī)矩的共同特點是,每個組成名稱的詞語都必需是大寫開頭,阻止完全大寫或小寫的名稱。

方法無論是函數(shù)還是子程序,方法都必需以動詞或動詞短語命名。無需區(qū)分函數(shù)和子程序,也無需指明返回類型。

publicvoidSetCopyNumber(IntCopyNumber)參數(shù)需要區(qū)分ref還是out,這一點寫起來會讓程序變長,但十分必要。假如沒有特別狀況,都使用默認。參數(shù)的命名方法,參考后面變量的命名方法。需要重載的方法,一般不寫Overloads,根據(jù)需要編寫重載的方法。

屬性原則上,字段(Field)是不能公開的,要訪問字段的值,一般使用屬性。屬性以簡單清楚的名詞命名:

publicintConcentration{get{return0;}set{}

}變量和常數(shù)常數(shù)以說明常數(shù)意義的名詞命名:

publicconstintDefaultConcentration=12在嚴格要求的代碼中,常數(shù)以c_開頭,如c_DefaultConcentration,但最好不要用它,它會帶來輸入困難。

普通類型的變量,只要用有意義的名字命名即可,不可使用簡稱和無意義的名稱諸如A,x1等標簽

標簽就是用于Goto跳轉的代碼標識,由于Goto并不推薦使用,所以標簽的使用也對比苛刻。標簽必需全部大寫,中間的空格用下劃線_代替,而且應當以_開頭,譬如:

_A_LABEL_EXAMPLE:如此定義標簽是為了與其他代碼元素充分區(qū)別。

0名稱空間命名名稱空間的一般規(guī)矩如下:

CompanyName.TechnologyName這樣,我們看到的名稱空間應當是這樣的:

Microsoft.OfficePowerSoft.PowerBuilder注意:這只是一個原則。第三方公司可以選擇其它的名字。

避免用公司名稱或其它有名品牌的名稱作為名稱空間的前綴,這樣會

造成兩個公布的名稱空間有同一個名稱的可能性。(例如,將微軟提供的Office自動類命名為Microsoft.Office。)

使用Pascal大寫方式,用逗號分隔邏輯成分(例如,Microsoft.Office.PowerPoint)。假如你的品牌使用的是非傳統(tǒng)大寫方式,那么一定要遵循你的品牌所確定使用的大寫方式,即使這種方式背離了尋常的名稱空間大寫規(guī)矩(例如,NeXT.WebObjects,和ee.cummings。)

該用復數(shù)的時候要使用復數(shù)的名稱空間名。

例如,使用System.Collections而不是System.Collection。本規(guī)矩的特例是品牌名稱和縮寫。例如:使用System.IO而不是System.IOs。

名稱空間和類不能使用同樣的名字。例如,有一個類被命名為Debug后,就不要再使用Debug作為一個名稱空間名5.2.2書寫格式規(guī)范總則格式化使代碼的規(guī)律結構很明顯。

要求書寫格式1)使用四個空格作為標準的縮進大小,并一致地使用此標準;2)括號位于下一行,要求相匹配的大括號在同一列;3)每一行上放置的語句避免超過一條;4)對繼行則要求再縮進4格。

5.2.3解釋規(guī)范一般性問題1)其他人得到了代碼是否能夠很快的理解它;

2)解釋是否解釋了代碼的意圖,而不僅僅是描述重復描述流程;3)技巧性過強的代碼是否重新編寫了而不是僅僅加一些解釋;4)解釋是否及時更新了,以正確反應最新的程序含義;5)解釋的風格是否能夠保證修改解釋很簡單;6)使用XML文檔功能;7)修改代碼時,總是使代碼周邊的解釋保持最新;8)在每個函數(shù)的開始,說明函數(shù)的用途、假設和限制等;9)除了批注變量聲明外,避免在代碼行的末尾添加解釋;10)在部署之前,移除所有臨時或無關的解釋;11)解釋應當表明代碼,而不應當增加多義性;12)在編寫代碼時就解釋,由于以后很可能沒有時間這樣做;13)避免多余的或不適當?shù)慕忉?,如幽默的不主要的備注?4)使用解釋來解釋代碼的意圖,而不是作為代碼的聯(lián)機翻譯;15)為了防止問題反復出現(xiàn),對錯誤修復和解決方法代碼總是使用解釋;16)對由循環(huán)和規(guī)律分支組成的代碼使用解釋。

語句和段落1)代碼是否避免了在程序語句末尾的解釋;2)解釋是否更側重于解釋"為什么這么做',而不是"如何做';3)解釋是否能夠引導讀者的思路;4)每一個解釋是否都是有價值的,多余的,無關的或自相矛盾的解釋是否刪除了或改正了;

5)縮寫單詞是否替換為完全拼寫形式了;6)主要解釋和次要解釋的區(qū)分是否明顯;7)代碼繞過了一個錯誤或者未在文檔中記載的特性的狀況是否在解釋中說明白。

數(shù)據(jù)定義1)數(shù)據(jù)的單位是否說明白;2)數(shù)值型數(shù)據(jù)的取值范圍是否說明白;3)輸入數(shù)據(jù)的限制是否說明白;4)使用標志的解釋是否細到了每一個位;5)使用的全局變量的地方是否在解釋中說明白該全局變量是在那里定義的;6)使用了全局變量的任何地方能否通過解釋或命名規(guī)矩看出它是一個全局變量;7)每個操縱語句是否都有解釋;8)對比長的或繁雜的操縱結構終止的地方是否有解釋,以便于閱讀;9)需要使用特定數(shù)值的數(shù)據(jù)是否在解釋中記載了,或者采用更好的方式:使用命名常量或變量。

例程例程的目的是否在解釋中說明白。

解釋能夠找得到例程相關的其他方面的信息,包括:輸入輸出參數(shù)、調用條件假設、限制、錯誤數(shù)據(jù)改正、算法來源等。

文件、模塊和程序

程序有沒有全局性描述,介紹程序的總體結構和組織方式。

每一個文件的用途是否都有記載。

5.3.JAVA編程規(guī)范5.3.1命名規(guī)矩Package的命名Package的名字應當都是由一個小寫單詞組成。

Class的命名Class的名字必需由大寫字母開頭而其他字母都小寫的單詞組成。

Class變量的命名變量的名字必需用一個小寫字母開頭。后面的單詞用大寫字母開頭。

StaticFinal變量的命名StaticFinal變量的名字應當都大寫,并且指出完整含義。

參數(shù)的命名參數(shù)的名字必需和變量的命名規(guī)范一致。

數(shù)組的命名數(shù)組應當總是用下面的方式來命名:

byte[]buffer;而不是:

bytebuffer[];方法的參數(shù)使用有意義的參數(shù)命名,假如可能的話,使用和要賦值的字段一樣的名字:

SetCounter(intsize){this.size=size;

}5.3.2文件樣式所有的Java文件(*.java)都必需遵守如下的樣式規(guī)矩。

版權信息版權信息必需在java文件的開頭,譬如:

/***lt;pgt;Title:lt;/pgt;*lt;pgt;Description:lt;/pgt;*lt;pgt;Copyright:Copyright(c)2022lt;/pgt;*lt;pgt;Company:lt;/pgt;*@authornotattributable*@version1.0*/其他不需要出現(xiàn)在JavaDoc的信息也可以包含在這里。

Package/Importspacka

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論