




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C#高級語言開發(fā)規(guī)范目錄一、目的4三、命名空間5四、文件命名規(guī)范5五、控件命名規(guī)范65.1 Win Form內部控件命名規(guī)范75.2 Web Form內部控件命名規(guī)范85.3 C#數據組件命名規(guī)范95.4 C#菜單命名規(guī)范9六、變/常量命名規(guī)范106.1變量范圍前綴106.2變量類型前綴10七、方法命名規(guī)范11八、代碼注釋規(guī)范118.1代碼注釋約定118.2模塊頭部注釋規(guī)范128.3方法注釋規(guī)范138.4代碼行注釋規(guī)范158.5變量注釋規(guī)范15九、其它規(guī)范169.1編程風格169.2資源釋放189.3錯誤處理:189.4其他19一、目的1. 使應用程序的結構和編碼風格標準化,便于閱讀和理解。2
2、. 減少出錯的可能性,保證程序質量。 回目錄 回目錄三、命名空間命名空間應使用解決方案的名稱,每個項目應設置一個二級命名空間,并以項目名命名。如下圖:SDP為解決方案(Solution)的名稱,則SDP為頂級命名空間;SDP.BF為項目名稱(Assembly),則SDP.BF項目下的命名空間為:SDP.BF.ClassName 回目錄四、文件命名規(guī)范1. 文件命名原則是更容易區(qū)分不同的文件類型,在文件名前增加三字符的前綴,前綴字母一律為小寫例如:一個窗體文件可以增加frm前綴,frmForm1.cs所有的前綴列表請參考本小節(jié)末尾的表格!2. 文件主體名必須用名詞或動名詞,且主體名必須是單詞首字
3、大寫的方式表示例如:銷貨單的窗體可以命名為frmInvoice.cs,一張銷貨單批次作廢的窗體可以命名為frmCancelInvoice.cs3. 文件名必須采用在不影響原意表達時盡量采用單詞縮寫的形式命名,以達到文件名的簡潔明了的命名目的例如:應收帳款批次轉憑證窗體的完整窗體名為frmTransferAccountsReceivable.cs,這時的窗體文件名太長,可以采用簡寫的方式,應收帳款專業(yè)簡寫為AR,我們可以采取這種公認的或專業(yè)的簡寫名詞命名,最后可以命名為frmTransAR非標準縮寫單詞采用去掉元音字母或半元音字母的方式命名,重復字只取一個。例如:Button:btn,省圖掉u,
4、o和t。4. 文件名要和類名匹配例如,對于類HelloWorld, 相應的文件名應為 HelloWorld.cs (或, HelloWorld.vb)5. 文件類型前綴一覽表(/表示暫無前綴)Win Form擴展名Extension File Name描述Description前綴Prefix.cs窗體文件frm.cs類文件/Web Form擴展名Extension File Name描述Description前綴Prefix.aspx/.ascxWeb用戶自定義控件wuc 回目錄五、控件命名規(guī)范1. C#編碼時,為了更直觀地遍歷整個窗體的控件,通常的作法是給每一種類型的控件的名稱前增加統(tǒng)一的
5、前綴。前綴字符采用三個小寫字母的形式表示(一般常用的控件三個字母都可以滿足,也有一些控件無法更好地用三個字母縮寫,詳見下面的表格。)例如:一個開始處理的按鈕可以命名為:btnBeginProc2. 控件主體名稱采用名詞或動名詞的形式命名例如:1. 一個單號的標簽:lblDocNo2. 一個開始處理的按鈕:btnBeginProc3. 控件主體名采用單詞首字大寫的形式命名例如:一個產生應收帳款的按鈕可以命名為:btnMakeAR 回目錄5.1 Win Form內部控件命名規(guī)范控件類型Control Type前綴Prefix例子ExampleLabellbllblStartSyncLabelLin
6、klbkButtonbtnTextBoxtxtMainMenumnuCheckBoxchkRadioButtonrdoGroupBoxgrpPictureBoxpicPanelpanDataGridgrdListBoxlstCheckedListBoxchklstCombocboListViewlstvTreeViewtrvTabControltabDateTimerPickerdtpMonthCalendarcldHScrollBarhsbVScrollBarvsbTimertmrSplittersplDomainUpDowndupNumericUpDownnupTrackBartrkPro
7、gressBarpgrRichTextBoxrtxtImageListimglstHelpProviderhlpToolTiptlpContextMenumnuToolBartlbStatusBarstaNotifyIconntiOpenFileDialogofdSaveFileDialogsfdFolderBrowserDialogfbdFontDialogfdgColorDialogcdgPrintDialogpdgPrintPreviewDialogppdPrintPreviewControlppcErrorProvidererpPrintDocumentprdPageSetupDial
8、ogpsdCrystalReportViewercrv 回目錄5.2 Web Form內部控件命名規(guī)范控件類型Control Type前綴Prefix例子ExampleLabellbllblTipTextBoxtxttxtNameButtonbtnbtnOKLinkButtonlbtnImageButtonibtnHyperLinkhlkDropDownListddlListBoxlstDataGridgrdDataListdlstRepeaterrepCheckBoxchkCheckBoxListchklstRadioButtonListrdolstRadioButtonrdoImageim
9、gPanelpanPlaceHolderplhCalendarcldAdRotatoradrTabletblRequireFieldValidatorrfvCompareValidatorcpvRangeValidatorrgvRegularExpressionValidatorrevCustomValidatorcstvValidationSummaryvlsXmlxmlLitteralltlCrystalReportViewercrv 回目錄5.3 C#數據組件命名規(guī)范數據庫對象Data Object前綴Prefix例子ExampleDataSetdsdsDeptDataTabledtdt
10、DeptDataTableCollectiondtcdtcDeptDataViewdvdvDeptDataRowdrdrDeptDataRowCollectiondrcdrcDeptDataColumndcdcFieldDataColumnCollectiondccdccDeptDataRowViewdrvdrvDeptOleDb Data ProviderOleDbDataAdapteroleadpOleDbConnectionoleconnOleDbCommandolecmdSql Server Data ProviderSqlDataAdaptersqladpSqlConnections
11、qlconnSqlCommandsqlcmdOdbc Data ProviderOdbcDataAdapterodbcadpOdbcConnectionodbcconnOdbcCommandodbccmdOracle Data ProviderOracleDataAdapteroraadpOracleConnectionoraconnOracleCommandoracmd 回目錄5.4 C#菜單命名規(guī)范應用程序頻繁使用許多菜單控件,對于這些控件具備一組唯一的命名約定很實用。除了最前面 "mnu" 標記以外,菜單控件的前綴應該被擴展:對每一級嵌套增加一個附加前綴,將最終的菜單
12、的標題放在名稱字符串的最后。下表列出了一些例子。菜單標題序列菜單處理器名稱File OpenmnuFileOpenFile Send EmailmnuFileSendEmailFile Send Fax mnuFileSendFaxFormat CharactermnuFormatCharacterHelp ContentsmnuHelpContents當使用這種命名約定時,一個特定的菜單組的所有成員一個接一個地列在 .net 的“屬性”窗口中。而且,菜單控件的名字清楚地表示出它們所屬的菜單項。 回目錄六、變/常量命名規(guī)范6.1變量范圍前綴1. 為了更好地區(qū)分變量的有效范圍,例如Class級變
13、量,在定義變量名時用小寫字母前綴區(qū)分。2. 此約定同樣適用于常量的命名。3. 常量名必須大寫。 回目錄6.2變量類型前綴1. 定義變量時根據不同的變量類型增加特定的變量類型前綴,一般為小寫的三個字母表示2. 變量主體名與控件主體名和窗體主體名的命名方式一致,采用單詞首字大寫的方式命名數據類型Data typeCLR類型CLR Type前綴Prefix例子ExampleboolSystem.BooleanblnbyteSystem.BytebytsbyteSystem.SBytesbytcharSystem.CharchrdecimalSystem.DecimaldecdoubleSystem.
14、DoubledblfloatSystem.SinglefltintSystem.Int32intuintSystem.UInt32uintlongSystem.Int64lngulongSystem.UInt64ulngshortSystem.Int16shtushortSystem.UInt16ushtstringSystem.StringstrdatetimeSystem.DateTimedtmobjectSystem.Objectobj枚舉enuStructurestru綜上所述,變量命名格式為:<特殊類型前導字(都為小寫字母)><類型前綴><變量名字>
15、;特殊類型前導字:前導字數據型態(tài)a任何型態(tài)的數組(不區(qū)分為幾維的數組)mClass級變量前綴I所有接口聲明及變量都應以大寫I作為前綴E枚舉聲明增加E前綴有效變量定義的例子:int aintCounters = new int10;(表示一個方法級的整型計數器數組)int maintCounters = new int10;(表示一個class級的整型計數器數組) 回目錄七、方法命名規(guī)范1. 方法名的主體應該使用大小寫混合形式,并且應該足夠長以描述它的作用。而且,方法名應該以一個動詞起首,如 InitNameArray 或 CloseDialog。2. 對于頻繁使用的或長的項,推薦使用標準縮略語
16、以使名稱的長度合理化。一般來說,超過 32 個字符的變量名在 VGA 顯示器上讀起來就困難了。3. 當使用縮略語時,要確保它們在整個應用程序中的一致性。在一個工程中,如果一會兒使用 Cnt, 一會兒使用 Count,將導致不必要的混淆。 回目錄八、代碼注釋規(guī)范8.1代碼注釋約定1. 所有的方法和函數都應該以描述這段代碼的功能的一段簡明注釋開始(方法是干什么)。這種描述不應該包括執(zhí)行過程細節(jié)(它是怎么做的),因為這常常是隨時間而變的,而且這種描述會導致不必要的注釋維護工作,甚至更糟成為錯誤的注釋。代碼本身和必要的嵌入注釋將描述實現方法。2. 當參數的功能不明顯且當過程希望參數在一個特定的范圍內時
17、,也應描述傳遞給過程的參數。被過程改變的函數返回值和全局變量,特別是通過引用參數的那些,也必須在每個過程的起始處描述它們。 回目錄8.2模塊頭部注釋規(guī)范以一個物理文件為單元的都需要,例如C#中包括 cs 檔用于每個模塊開頭的說明,主要包括:(粗體字為必需部分,斜體字為可選部分)1. 文件名稱(File Name):此文件的名稱2. 功能描述(Description):此模塊的功能描述與大概流程說明3. 數據表(Tables):所用到的數據表,視圖,存儲過程的說明,如關系比較復雜,則應說明哪些是可擦寫的,哪些表為只讀的。4. 作者(Author):5. 日期(Create Date):6. 參考
18、文檔(Reference):該檔所對應的分析文檔,設計文檔。7. 引用(Using)開發(fā)的系統(tǒng)中引用其它系統(tǒng)的Dll、對象時,要列出其對應的出處,是否與系統(tǒng)有關不清楚的可以不寫,以方便制作安裝檔。8. 修改記錄(Revision History):若檔案的所有者改變,則需要有修改人員的名字、修改日期及修改理由。R1:修改作者:修改日期:修改理由:R2:修改作者:修改日期:修改理由:R3:R10R1009. 分割符: (前后都要)例圖如下: 回目錄8.3方法注釋規(guī)范注意事項:1. 事件不需要頭注解,但包含復雜處理時(如:循環(huán)/數據庫操作/復雜邏輯等),應分割成單一處理函數,事件再調用函數。2.
19、所有的方法必須在其定義前增加方法注釋3. 方法注釋采用 / 形式自動產生XML標簽格式的注釋/ <summary>/ / </summary>/ <param name=”></param>/ <returns></returns>標記說明備注<c>提供了一種將說明中的文本標記為代碼的方法<code>提供了一種將多行指示為代碼的方法<example>可以指定使用方法或其他庫成員的示例。一般情況下,這將涉及到 <code> 標記的使用。<exception>對可從當
20、前編譯環(huán)境中獲取的異常的引用。<include>得以引用描述源代碼中類型和成員的另一文件中的注釋。<list>用于定義表或定義列表中的標題行。<para>用于諸如<summary>、<remarks> 或 <returns> 等標記內,使您得以將結構添加到文本中。<param>應當用于方法聲明的注釋中,以描述方法的一個參數。<paramref>提供了一種指示詞為參數的方法。<permission>得以將成員的訪問記入文檔。<remarks>用于添加有關某個類型的信息,從而補充
21、由 <summary> 所指定的信息。<returns>應當用于方法聲明的注釋,以描述返回值。<see>得以從文本內指定鏈接。<seealso>對可以通過當前編譯環(huán)境進行調用的成員或字段的引用。<summary>應當用于描述類型或類型成員。<value>得以描述屬性。上述表格具體說明見 “Microsoft Visual Studio .NET 2003 文檔“ 之 “Visual Studio .NETVisual Basic 和 Visual C#參考Visual C# 語言C# 程序員參考C# 語言功能XML 文檔建
22、議的文檔注釋標記” 的目錄。例圖如下:4. 在公用類庫中的公用方法需要在一般方法的注釋后添加作者、日期及修改記錄信息,統(tǒng)一采用XML標簽的格式加注,標簽如下:<Author></Author> 作者<CreateDate></CreateDate> 建立日期<RevisionHistory> 修必記錄<ModifyBy></ModifyBy>修改作者<ModifyDate></ModifyDate>修改日期<ModifyReason></ModifyReason>
23、修改理由<ModifyBy></ModifyBy>修改作者<ModifyDate></ModifyDate>修改日期<ModifyReason></ModifyReason>修改理由<ModifyBy></ModifyBy>修改作者<ModifyDate></ModifyDate>修改日期<ModifyReason></ModifyReason>修改理由</RevisionHistory><LastModifyDate><
24、/LastModifyDate> 最后修改日期5. 一個代碼文件如果是由一人編寫,則此代碼文件中的方法無需作者信息,非代碼文件作者在此文件中添加方法時必須要添加作者、日期等注釋,格式參考8.4。6. 修改任何方法,必須要添加修改記錄的注釋,格式參考8.4。 回目錄8.4代碼行注釋規(guī)范1. 如果處理某一個功能需要很多行代碼實現,并且有很多邏輯結構塊,類似此種代碼應該在代碼開始前添加注釋,說明此塊代碼的處理思路及注意事項等2. 注釋從新行增加,與代碼開始處左對齊3. 雙斜線與注釋之間以空格分開例如: 回目錄8.5變量注釋規(guī)范1. 定義變量時需添加變量注釋,用以說明變量的用途2. class級
25、變量應以三條斜線的形式注釋3. 方法級的變量注釋可以放在變量聲明語句的后面,與前后行變量聲明的注釋左對齊,注釋與代碼間以Tab隔開。例如: 回目錄九、其它規(guī)范9.1編程風格1. 為了保持更好的閱讀習慣,請不要把多個變量聲明寫在一行中,即一行只聲明一個變量。例如:String strTest1,strTest2;應寫成:String strTest1;String strTest2;2 避免方法中有超過5個參數的情況。如果超過了,則應使用 struct 來傳遞多個參數。3 為了更容易閱讀,代碼行請不要太長,最好的寬度是屏幕寬度(根據不同的顯示分辯率其可見寬度也不同)。請不要超過您正在使用的屏幕寬
26、度。(每行代碼不要超過80個字符。)4 除非在不完全的switch語句中否則不要使用goto語句。注:原則上不應使用goto語句,除非在能夠大大減輕編碼的復雜性,并不影響可讀性的前提下才允許使用。5 在switch語句中總是要有default子句來顯示信息6 代碼縮進1. 一致的代碼縮進風格,有利于代碼的結構層次的表達,使代碼更容易閱讀和傳閱2. 代碼縮進請使用“”鍵實現,講不要使用空格,為保證在不同的機器上使代碼縮進保持一致,特此規(guī)定C的TAB鍵寬度為個字符,設定界面如下(C# ToolsàOption):7 界面排版8 方法參數多于8個時采用結構體或類方式傳遞9 操作符/運算符左
27、右空一個半角空格10 所有塊的號分別放置一行,并嵌套對齊,不要放在同一行上 回目錄9.2資源釋放所有外部資源都必須顯式釋放。例如:數據庫連接對象、IO對象等。public void Dispose()/ 如果事務開啟過,則釋放事務對象if ( this.IDbTrans != null)this.IDbTrans.Dispose();/ 如果連接已經打開,則關閉連接并釋放資源if ( this.IDbConn.State = ConnectionState.Open )this.IDbConn.Close();this.IDbConn.Dispose(); 回目錄9.3錯誤處理:1. 不要“捕捉了異常卻什么也不做“。如果隱藏了一個異常,你將永遠不知道異常到底發(fā)生了沒有。 2. 發(fā)生異常時,給出友好的消息給用戶,但要精確記錄錯誤的所有可能細節(jié),包括發(fā)生的時間,和相關方法,類名等。 3. 只捕捉特定的異常,而不是一般的異常。正確的做法:void ReadFromFile ( string fileName )try/ read from file.catch (FileIOException ex)/ log error./ re-throw exception depending on your case.throw;不好:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軋鋼導衛(wèi)裝置項目可行性分析報告
- 儲氫技術行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 足球心理咨詢服務中心行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 舞蹈輔導在線平臺企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 鄉(xiāng)村非遺文化展示行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 自適應書桌高度調節(jié)器行業(yè)跨境出海戰(zhàn)略研究報告
- 舞臺特效企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 足球健康公益跑企業(yè)制定與實施新質生產力戰(zhàn)略研究報告
- 易中企業(yè)管理培訓
- 幼兒園管理團隊建設
- 水利工程(水電站)全套安全生產操作規(guī)程
- 學生宿舍宿管人員查寢記錄表
- 配電間巡檢記錄表
- ISO 31000-2018 風險管理標準-中文版
- 雙人法成生命支持評分表
- DBJ61_T 179-2021 房屋建筑與市政基礎設施工程專業(yè)人員配備標準
- 畢業(yè)設計三交河煤礦2煤層開采初步設計
- 預應力錨索施工全套表格模板
- 食品流通許可證食品經營操作流程圖
- 風電場工作安全培訓
- 壓縮機課程設計(共28頁)
評論
0/150
提交評論