1、C#命名规范Web开发程序命名规范文档整理:鲁志宏适用范围:web开发人员一、 命名风格常用的命名风格如下。(1)Pascal风格:包含一到多个单词,每一个单词第一个字母大写,其他字母小写,其余字母均小写。例如:CollegeStudent、HelloWorld等。(2)Camel风格:包含一到多个单词,第一个单词首字母小写,其余单词首字母大写,其他字母均小写。例如:name、gender、somePara等。二、 命名规范注意事项:使用英文命名规则,尽量不使用缩写,禁止使用下划线。1 DotNet专属对象命名规范:此命名规范规定了DotNet中专属的各类语言元素的命名规范: Pascal:命
2、名空间、类、方法、委托、属性、结构、接口、常量变量均使用Pascal命名规范。 Camel:私有成员、局部变量、参数、页面控件变量均使用Camel风格。 文件名和类名要匹配。 当类只用于作为其他类的基类,根据情况,以Base结尾。Class CarBase 接口需在添加第一个字母I表示其是个接口。 成员变量与其对应的属性的差别只在于第一个字母的大小写。 命名空间使用以下格式:CompanyName.SolutionName.ProjectName.ModuleName2 Javascript、CSS、Html命名规则此命名规范规定了javascript、css中专属的各类语言元素的命名规范:
3、Pascal:js类名使用Pascal风格。 Camel:js变量、js参数、js函数、css类名、html标签ID、Html标签均使用Camel风格。 js私有变量需加下划线前缀进行标注。3 SqlServer数据库命名规则此命名规范规定了SqlServer中专属的各类元素的命名规范: Pascal:就名字本身而言,数据库、表、视图、存储过程、自定义函数、自定义数据类型、触发器均使用Pascal风格。但部分命名需加前缀的下面已给出。 视图名使用小写字母v为前缀。 存储过程名使用小写字母usp为前缀。 自定义函数名使用小写字母ufn为前缀。4 组织结构命名规范 Pascal:DotNet解决方
4、案、DotNet项目、DotNet专属文件、文件夹均使用Pascal风格。 Camel:文件扩展名、js文件名、css文件名、图片文件名均使用Camel风格。5 C#控件命名规范 Data Control类 型前 缀示 例AccessDataSourceadsadsPubsDataListdlstdlstTitlesDetailViewdvwdvwTitlesFormViewfvwfvwFontsGridViewgvwgvwCityObjectDataSourceodsodsMenusRepeaterrptrptQueryResultsReportViewerrvwrvwRecordSiteM
5、apDataSourcesmdssmdsSiteSqlDataSourcesdssdsBooksXmlDataSourcexdsxdsTitles Validation Control类 型前 缀示 例CompareValidatorvalcvalcValidAgeCustomValidatorvalxvalxDBCheckRangeValidatorvalgvalgAgeRegularExpressionValidatorvalevaleEmailRequiredFieldValidatorvalrvalrFirstNameValidationSummaryvalsvalsFormError
6、s Navigation Control类 型前 缀示 例MenumnumnuUser1SiteMapPathsmpsmpSite1TreeViewtrvwtrvwMenu Login Control类 型前 缀示 例ChangePasswordcpwdcpwdUser1CreateUserWizardcuwcuwLoginLoginloglogCenterLoginNamelognlognUserLoginStatuslogslogsUserLoginViewlogvlogvUserPasswordRecoverypwdrpwdrUser WebParts Control类 型前 缀示 例A
7、ppearanceEditorPartpaedpaedPart1BehaviorEditorPartpbedpbedPart2CatalogZonezcazcatCityConnectionsZonezconzconDataBaseDeclarativeCatalogPartpdcapdcaPart1EditorZonezedzedNewsImportCatalogPartpicapicaPartLayoutEditorPartpledpledNewsPageCatalogPartppcappcaMailPropertyGridEditorPartppgeppgeServerProxyWebP
8、artManagermpwpmpwpWebWebPartManagermwpmwpSite1WebPartZonezwpzwpSite2 ADO.NET 命名规范 数据类型数据类型简写标准命名举例ConnectionconconNorthwindCommandcmdcmdReturnProductsParameterparmparmProductIDDataAdapterdaddadProductsDataReaderdtrdtrProductsDataSetdstdstNorthWindDataTabledtbldtblProductDataRowdrowdrowRow98DataColum
9、ndcoldcolProductIDDataRelationdreldrelMasterDetailDataViewdvwdvwFilteredProducts WinForm Control 命名规范数据类型数据类型简写标准命名举例LabellbllblMessageLinkLabelllblllblTodayButtonbtnbtnSaveTextBoxtxttxtNameMainMenummnummnuFileCheckBoxchkchkStockRadioButtonrbtnrbtnSelectedGroupBoxgbxgbxMainPictureBoxpicpicImagePanel
10、pnlpnlBodyDataGriddgrddgrdViewListBoxlstlstProductsCheckedListBoxclstclstCheckedComboBoxcbocboMenuListViewlvwlvwBrowserTreeViewtvwtvwTypeTabControltctltctlSelectedDateTimePickerdtpdtpStartDateHscrollBarhsbhsbImageVscrollBarvsbvsbImageTimertmrtmrCountImageListilstilstImageToolBartlbtlbManageStatusBar
11、stbstbFootPrintOpenFileDialogodlgodlgFileSaveFileDialogsdlgsdlgSaveFoldBrowserDialogfbdlgfgdlgBrowserFontDialogfdlgfdlgFootColorDialogcdlgcdlgColorPrintDialogpdlgpdlgPrint WebControl 命名规范类 型前 缀示 例AdrotatoradrtadrtTopAdBulletedListblstblstCityButtonbtnbtnSubmitCalendarcalcalMettingDatesCheckBoxchkchk
12、BlueCheckBoxListchklchklFavColorsCompareValidatorvalcvalcValidAgeCustomValidatorvalxvalxDBCheckDropDownListdropdropCountriesDataGriddgrddgrdTitlesDataListdlstdlstTitlesRangeValidatorvalgvalgAgeFileUpLoadfupfupImageHiddenFieldhfldhfldNameHyperLinkhlkhlkDetailsImageimgimgAuntBettyImageButtonibtnibtnSu
13、bmitImageMapimapimapSiteLabellbllblResultsLinkButtonlbtnlbtnSubmitListBoxlstlstCountriesLiteralltlltlTitleLocalizeloclocChinaMultiViewmvwmvwForm1PanelpnlpnlForm2PlaceHolderplhplhFormContentsRadioButtonradradFemaleRadioButtonListradlradlGenderRegularExpressionvalevaleEmail_ValidatorRepeaterrptrptQuer
14、yResultsRequiredFieldValidatorvalrvalrFirstNameSubStitutionsubssubsTimeTextBoxtxttxtFirstNameTabletbltblCountryCodesTableCelltblctblcGermanyTableRowtblrtblrCountryValidationSummaryvalsvalsFormErrorsViewvwvwCityWizardwizwizRegister三、 注释规范文件头注释/* 版权:福建八达* 功能描述:添加系统用户* 创建时间:2009-7-27* 作者:鲁志宏* 版本:* 修订描述
15、:* 最后修订日期:*/四、 编码准则1 避免过长的方法,方法体应该少于60行。2 避免使用诸如0,1,2之类的字面状态量,应该使用更有表达意义的const变量或枚举来取代。3 拒绝代码冗余,冗余是代码腐化的根源。4 坚持单一职责原则,一个类只因有一个变化的原因。5 缩进用 TAB,不用 SPACES。6 在每个运算符前后都空一格。7 花括弧 ( ) 需和括号外的代码对齐。每个花括弧需独立一行。8 用一个空行来分开代码的逻辑分组。9 在一个类中,各个方法需用一空行,也只能是一行分开。 10 注释需和代码对齐。只在必需的地方注释。行数不多的注释会使代码看起来优雅。(前提是你的代码命名有意义和逻辑
16、结构清晰)。11 如果应为某种原因使用了复杂艰涩的原理,为程序配备良好的文档和重分的注释。12 避免在同一个文件中放置多个类。13 避免使用大文件。如果一个文件里的代码超过500行,必须考虑将代码分开到不同类中。14 总是使用接口。避免只有一个成员的接口,努力保证一个接口有35个成员。当使用抽象类的时候,提供一个接口。15 一个方法只完成一个任务。不要把多个任务组合到一个方法中,即使那些任务非常小。16 避免写超过5个参数的方法。如果要传递多个参数,使用结构。17 除了要在switch语句块中实现代码跳转,不要使用goto关键字。18 避免使用很多成员变量。声明局部变量,并传递给方法。不要在方
17、法间共享成员变量。否则很难知道是哪个方法在什么时候修改了它的值。19 在最靠近一个局部变量被使用的地方声明该局部变量。20 避免 string name=”;正确 string name=String.Empty;21 异常处理 错误消息而应给出具体错误消息和相应的用户需要做的操作。 千万不要捕捉了异常却什么也不做。异常信息要精确记录错误的所有可能细节,包括发生的时间,和相关方法,类名等。 别写太大的 try-catch 模块。如果需要,为每个执行的任务编写单独的 try-catch 模块。 这将帮你找出哪一段代码产生异常,并给用户发出特定的错误消息如果应用程序需要,可以编写自己的异常类。对自定义的异常类加上后缀Exception。 不必每个方法都用try-catch。当特定的异常可能发生时才使用。不必在所有方法中捕捉一般异常。不管它,让程序崩溃。这将帮助你在开发周期发现大多数的错误。 数据库操作和文件操作时,finally很必要。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1