


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、編程規(guī)范代碼編寫1. 對象的認識 =模糊認識 +清楚認識。當前類解決的是清楚認識部分,模糊認識 由將來派生類完成。2. 方法的輸入、輸出要有嚴格的定義。要做到功能明確,不越權(quán)。3. 除非在萬不得以的情況下,在類中不能定義公用字段,字段的引用盡量要采用屬性 形式。4. 不可修改的字段應(yīng)用 Con st來修飾,并說明類型。5. 對你所寫的每一個文件都加上相關(guān)的標準化注釋,一般應(yīng)包括:文件的作用、 作者及時間等;例如:/作者:/時間:/作用:/6. 為你定義的類寫詳細的注釋,包括作者、時間、修改信息、基本的算法等。類 實現(xiàn)功能的注釋方法如下:/ <summary>/ class 的摘要說
2、明。/ </summary>7. 為你定義的每一個方法、字段、屬性寫詳細的注釋,包括輸入輸出參數(shù)說明、 返回值說明、方法功能說明;如:/ <summary>/該方法的摘要信息/ </summary>/ vparam name="sql">sql 參數(shù)的說明 </param>/ <returns> 返回值的說明 </returns> public int ModifyData( string sql) 8. 寫注釋的時候語義要明確,注釋的長度最好不要超過一句話9. 所有標識符(類名、方法名、字段名、
3、屬性名等)均要求意義明確易于理解, 不用關(guān)鍵字作為標識符,名字中避免使用易混淆的數(shù)字10. 避免在代碼中直接使用數(shù)字等不確定意義的詞,盡量使用有意義的串值代替; 如:const static PI = 3.141592611. 盡量不用或少用goto語句,不要在同一行中寫多個語句,利用添加空格來清晰地表 示語句的成分12. 不要寫太長的if () .,for().,While(.)或者太多的嵌套;對上述較長者在范圍結(jié)束處加注釋。如/for循環(huán)結(jié)束13. 可以在程序中添加一些空格、空行和縮進等技巧,幫助人們從視覺上看清程序的結(jié)構(gòu),在使用縮進的時候應(yīng)使用“Tab”鍵,而不是使用空格鍵14. 在向工
4、程中添加新頁面時,.net會自動幫你生成一段代碼,其中包括Onlnit(Eventargs e) 和 InitializeComponent()方法,在頁面中添加事件的時候會自動在InitializeComponent ()方法安裝事件;但是在此過程中會 出現(xiàn)一些問題,因此不允許使用OnInit ()方法,直接把這段話刪除;為 此,我們因在代碼中添加Pagenit ()方法以替代Onlnit ()方法,Page_Init 事件可以通過頁面構(gòu)造函數(shù)安裝,再由Page_I nit調(diào)用InitializeComponent()方法15. 為了便于規(guī)范,所有的頁面都必需從kaiyuan.PageBas
5、e派生,而不是直接從System.Web.UI.Page 派生16. 在 Page_Load方法開始處添加 PageData data = CheckPage( pageID )語 句,其中pageID為當前操作頁面的id,具體值見PageID類命名指南總的來說除了參數(shù)(包括方法內(nèi)部定義的臨時變量)和private作用域的字段采用 Camel大小寫的命名規(guī)則之外,其他的都采用Pascal大小寫命名規(guī)則;如果字段是一個控件的實例,必須在后面跟上控件名;不要在字段前加g_或s_或口_等前綴;con st字段一般全用大寫;例如一個有關(guān)文件名的各種命名:常量:private con st stri n
6、g FILE_NAME = "reg.aspx"字段:private string fileName;字段:public string FileName;控件:protected System.Web.UI.WebControls.TextBox FileNameTextBox; 參數(shù):string fileName;有關(guān)具體的命名詳細見以下各部分1 大寫樣式使用下面的三種大寫標識符約定1. Pascal大小寫可以對三字符或更多字符的將標識符的首字母和后面連接的每個單詞的首字母都大寫。 標識符使用Pascal大小寫。例如:Back Color2. Camel大小寫標識符的首
7、字母小寫,而每個后面連接的單詞的首字母都大寫。例如:back Color3. 大寫標識符中的所有字母都大寫。僅對于由兩個或者更少字母組成的標識符使用該約定。例如:System. 10System.Web. UI可能還必須大寫標識符以維持與現(xiàn)有非托管符號方案的兼容性,在該方案中所有大寫字母經(jīng)常用于枚舉和常數(shù)值。一般情況下,在使用它們的程序集之外這些字符應(yīng)當是不可 見的。F表匯總了大寫規(guī)則,并提供了不同類型的標識符的示例。標識符類枚舉類型 枚舉值 事件 異常類大小寫PascalPascalPascalPascalPascal只讀的靜態(tài)字段 Pascal 接口Pascal方法Pascal命名空間Pa
8、scal參數(shù)Camel屬性Pascal受保護的實例字Camel 段公共實例字段Pascal示例AppDomainErrorLevelFatalErrorValueCha ngeWebExcepti on注意總是以 Exception 后綴結(jié)尾。RedValueIDisposable注意總是以I前綴開始。ToStri ngSystem.Drawi ngtypeNameBackColorredValue注意很少使用。屬性優(yōu)于使用受保護的實例字段。RedValue注意很少使用。屬性優(yōu)于使用公共實例字段。2 區(qū)分大小寫為了避免混淆和保證跨語言交互操作,請遵循有關(guān)區(qū)分大小寫的使用的下列規(guī)則:1. 不要使
9、用要求區(qū)分大小寫的名稱。對于區(qū)分大小寫和不區(qū)分大小寫的語言,組件都必須完全可以使用。不區(qū)分大小寫的語言無法區(qū)分同一上下文中僅大小寫不同的兩 個名稱。因此,在創(chuàng)建的組件或類中必須避免這種情況。2. 不要創(chuàng)建僅是名稱大小寫有區(qū)別的兩個命名空間。例如,不區(qū)分大小寫的語言無法區(qū)分以下兩個命名空間聲明。n amespace ee.cum mingsn amespace Ee.Cummi ngs3. 不要創(chuàng)建具有僅是大小寫有區(qū)別的參數(shù)名稱的函數(shù)。下面的示例是不正確的void MyFunction( string a, string A)4. 不要創(chuàng)建具有僅是大小寫有區(qū)別的類型名稱的命名空間。在下面的示例中
10、,Poi nt p和POINT p是不適當?shù)念愋兔Q,原因是它們僅在大小寫方面有區(qū)別System.Wi ndows.Forms.Poi nt pSystem.Wi ndows.Forms.POINT p5. 不要創(chuàng)建具有僅是大小寫有區(qū)別的屬性名稱的類型。在下面的示例中,int Color和int COLOR是不適當?shù)膶傩悦Q,原因是它們僅在大小寫方面有區(qū)別。int Color get, seti nt COLOR et, set6. 不要創(chuàng)建具有僅是大小寫有區(qū)別的方法名稱的類型。在下面的示例中,calculate和Calculate是不適當?shù)姆椒Q,原因是它們僅在大小寫方面有區(qū)別。void
11、calculate()void Calculate()3 縮寫為了避免混淆和保證跨語言交互操作,請遵循有關(guān)區(qū)縮寫的使用的下列規(guī)則:1. 不要將縮寫或縮略形式用作標識符名稱的組成部分。例如,使用GetWindow,而不要使用GetWin。2. 不要使用計算機領(lǐng)域中未被普遍接受的縮寫。3. 在適當?shù)臅r候,使用眾所周知的縮寫替換冗長的詞組名稱。例如,用UI作為UserIn terface 的縮寫,用 OLAP 作為 On-li ne An alytical Processi ng的縮寫。4. 在使用縮寫時,對于超過兩個字符長度的縮寫,請使用Pascal大小寫或Camel大小寫。例如,使用 HtmIB
12、utton 或htmIButton 。但是,應(yīng)當 大寫僅有兩個字符的 縮寫,如,System.lO,而不是System。5. 不要在標識符或參數(shù)名稱中使用縮寫。如果必須使用縮寫,對于由多于兩個字符所組成的縮寫請使用 Camel大小寫,雖然這和單詞的標準縮寫相沖突。4 措詞避免使用與常用的.NET Framework命名空間重復的類名稱;避免使用和關(guān)鍵字沖突的標識符。5 避免類型名稱混淆使用描述類型的含義的名稱,而不是描述類型的名稱。義含義,那么在這種罕見的情況下請使用一般性名稱。中的類可以有以下方法void Write( double value );void Write( float val
13、ue);void Write( long value);void Write( int value);void Write( short value);不要創(chuàng)建語言特定的方法名稱,如下面的示例所示void Write( double doubleValue);void Write( float floatValue);void Write( long IongValue);void Write( int intValue);void Write( short shortValue);如果有必要為每個基本數(shù)據(jù)類型創(chuàng)建唯一命名的方法,如果參數(shù)除了其類型之外沒有任何語 例如,支持將各種數(shù)據(jù)類型寫入到
14、流C#類型名VisualBasic JScript類 型 Visual C+類Ilasm.exe 表示形通用類型名稱類型名稱名稱型名稱式稱SbyteSbyteSBytecharin t8SByteByteByteByteun sig ned charun sig ned int8ByteShortShortShortshortin t16In t16UshortUln t16Ushortun sig ned shortun sig ned in t16UI nt16IntIn tegerIntintin t32In t32UintUI nt32Ui ntun sig ned intun sig
15、 ned in t32UI nt32LongLo ngLo ng_in t64in t64In t64Ulo ngUln t64Ulo ngun sig ned_in t64un sig ned in t64Uln t64FloatSin gleFloatfloatfloat32Sin gle那么在這種極為罕見的情況下請使用通用類型名稱。下表列出基本數(shù)據(jù)類型名稱和它們的通用替換。DoubleDoubleDoubledoublefloat64DoubleBoolBoolea nboolea nboolboolBoolea nCharCharCharwchar_tcharCharStri ngSt
16、ri ngStri ngStri ngstri ngStri ngObjectObjectObjectObjectobjectObject例如,支持將從流讀取各種數(shù)據(jù)類型的類可以有以下方法。double ReadDouble();float ReadSi ngle();lo ng Readl nt64();int Readlnt32();short Readlnt16();上面的示例優(yōu)先于下面的語言特定的替代方法。double ReadDouble();float ReadFloat();long ReadL on g();int ReadInt();short ReadShort();6 類
17、命名指南以下規(guī)則概述命名類的指南:1. 使用名詞或名詞短語命名類。2. 使用 Pascal大小寫。3. 少用縮寫。4. 不要使用類型前綴,如在類名稱上對類使用C前綴。例如,使用類名稱 FileStream,而不是 CFileStream 。5. 不要使用下劃線字符(_)。6. 有時候需要提供以字母I開始的類名稱,雖然該類不是接口。只要I是作為類名稱組成部分的整個單詞的第一個字母,這便是適當?shù)?。例如,類名稱IdentityStore就是適當?shù)摹?. 在適當?shù)牡胤剑褂脧秃蠁卧~命名派生的類。派生類名稱的第二個部分應(yīng)當是基類的名稱。例如,Applicati on Exception對于從名為Exce
18、ption 的類派生的類是適當?shù)拿Q,原因是 ApplicationException 是一種Exception。請在應(yīng)用該規(guī)則時 進行合理的判斷。例如,Button對于從Control派生的類是適當?shù)拿Q。盡管按鈕是一種控件,但是將 Con trol作為類名稱的一部分將使名稱不必要地加長。下面是正確命名的類的示例public class FileStreampublic class Butt onpublic class String7 方法命名指南以下規(guī)則概述方法的命名指南:1. 使用動詞或動詞短語命名方法。2. 使用 Pascal大小寫。以下是正確命名的方法的實例RemoveAII()G
19、etCharArray()Inv oke()8 字段使用指南以下規(guī)則概述字段的使用指南:1. 不要使用是public 或protected的實例字段。如果避免將字段直接公開給開發(fā)人員,可以更輕松地對類進行版本控制,原因是在維護二進制兼容性時字段不能被更改為屬性。考慮為字段提供 get和set屬性訪問器,而不是使它們成為公共的。 get和set屬性訪問器中可執(zhí)行代碼的存在使得可以進行后續(xù)改進,如在使用屬 性或者得到屬性更改通知時根據(jù)需要創(chuàng)建對象。2. 使用const關(guān)鍵字聲明不會更改的常量字段。語言編譯器直接將const字段的值保存在調(diào)用代碼中。常量字段的名稱通常全部大寫,例如:private
20、constStri ngTRACING_TRACEFILE_DEFAULT="Applicatio nTrace.txt"3. 對預定義對象實例使用公共靜態(tài)只讀字段。如果存在對象的預定義實例,則將它們聲明為對象本身的公共靜態(tài)只讀字段。使用Pascal大小寫,原因是字段是公共的。下面的代碼示例闡釋公共靜態(tài)只讀字段的正確使用。public staticreadonly Color Red =newColor( 0x0000FF);public staticreadonly Color Green =:newColor( OxOOFFOQ;4. 拼寫出字段名稱中使用的所有單詞。僅
21、在開發(fā)人員一般都能理解時使用縮寫。5. 不要對字段名使用匈牙利語表示法。好的名稱描述語義,而非類型。6. 不要對字段名或靜態(tài)字段名應(yīng)用前綴。具體說來,不要對字段名稱應(yīng)用前綴來區(qū)分靜態(tài)和非靜態(tài)字段。例如,應(yīng)用g_或s_前綴是不正確的9 屬性命名指南以下規(guī)則概述屬性的命名指南:1. 使用名詞或名詞短語命名屬性。2. 使用 Pascal大小寫。3. 不要使用匈牙利語表示法。4. 考慮用與屬性的基礎(chǔ)類型相同的名稱創(chuàng)建屬性。10接口命名指南以下規(guī)則概述接口的命名指南:1. 用名詞或名詞短語,或者描述行為的形容詞命名接口。例如,接口名稱IComponent使用描述性名詞。接口名稱ICustomAttrib
22、uteProvider使用名詞短語。名稱IPersistable使用形容詞。2. 使用 Pascal大小寫。3. 少用縮寫。4. 給接口名稱加上字母I前綴,以指示該類型為接口。5. 在定義類/接口對(其中類是接口的標準實現(xiàn))時使用相似的名稱。兩個名稱的區(qū)別應(yīng)該只是接口名稱上有字母I前綴。6. 不要使用下劃線字符(_)。11事件命名指南以下規(guī)則概述事件的命名指南:1. 使用 Pascal大小寫。2. 不要使用匈牙利語表示法。3. 對事件處理程序名稱使用Eve ntHa ndler 后綴。4. 指定兩個名為 sender和e的參數(shù)。sender參數(shù)表示引發(fā)事件的對象。sender參數(shù)始終是obje
23、ct類型的,即使在可以使用更為特定的類型時也如此。與事件相關(guān) 聯(lián)的狀態(tài)封裝在名為e的事件類的實例中。對e參數(shù)類型使用適當而特定的事件類。5. 用Even tArgs 后綴命名事件參數(shù)類。6. 考慮用動詞命名事件。例如,命名正確的事件名稱包括Clicked、Painting 和DroppedDowe7. 使用動名詞(動詞的“ ing ”形式)創(chuàng)建表示事件前的概念的事件名稱,用過去式 表示事件后。例如,可以取消的Close事件應(yīng)當具有 Closing 事件和Closed事件。不要使用 BeforeXxx/AfterXxx命名模式。Close,而不要使用8. 不要在類型的事件聲明上使用前綴或者后綴。例如,使用On Close。9. 通常情況下,對于可以在派生類中重寫的事件,應(yīng)在類型上提供一個受保護的方法(稱為OnXxx)。此方法只應(yīng)具有事件參數(shù)e,因為發(fā)送方總是類型的實例。12枚舉類型命名指南枚舉(Enun)值類型從Enum類繼承。以下規(guī)則概述枚舉的命名指南:* 對于Enum類型和值名稱使用Pascal大小寫。*少用縮寫。*不要在Enum類型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防安全員試題及答案
- 物資采購驗收試題及答案
- 河北省部分校2025屆高三下學期三模綜合素質(zhì)評價 英語試題(含答案含聽力原文無音頻)
- 2025年江蘇省鎮(zhèn)江市丹徒區(qū)八年級二模生物試題參考答案
- 歷史●全國甲卷丨2022年普通高等學校招生全國統(tǒng)一考試歷史試卷及答案
- 2025房產(chǎn)中介服務(wù)合同標準樣本
- 2025商業(yè)店鋪租賃合同模板2
- 2025論壇版塊承包租賃合同范本
- Rinvatercept-生命科學試劑-MCE
- DSPE-PEG2000-PDP-生命科學試劑-MCE
- 空氣動力學試題及答案
- 2024-2025部編版小學道德與法治一年級下冊知識點(選擇題集)
- 綠色政治經(jīng)濟學-環(huán)境治理中的經(jīng)濟選擇-全面剖析
- 直播帶貨股份協(xié)議合同
- 《有為有不為》公開課一等獎創(chuàng)新教案
- 非麻醉醫(yī)師實施口腔診療適度鎮(zhèn)靜-鎮(zhèn)痛專 家共識
- 《2025年危險化學品企業(yè)安全生產(chǎn)執(zhí)法檢查重點事項指導目錄》解讀與培訓
- (2025)中國漢字聽寫大賽全部試題庫及答案
- 2025年鐵路列車員職業(yè)技能競賽參考試題庫500題(含答案)
- 大學英語四級考試2024年6月真題(第1套)翻譯
- 創(chuàng)業(yè)桌游策劃與運營方案
評論
0/150
提交評論