1、.代码开发命名规范拟稿该规范的制定致力于规范代码格式,提高开发效率,保证程序质量,最终解释权归*软件开发组。1. 项目名称及类库命名规范项目名称:Testlatform,简写Test实体类类库命名:Test.Model业务逻辑类类库命名:Test.BLL数据工厂类类库命名:Test.DALFactory数据库帮助类类库命名:Test.DBUtility数据接口类类库命名:Test.IDAL数据访问层类类库命名:Test.SQLServerDAL常用帮助类类库命名:Test.Utils表现层类库命名:Test.UI2. 数据库名称及字段命名规范1) 数据库命名数据库命名:同项目名称简写(Test
2、)2) 实体(表)命名规则:前缀_表存储内容简称举例:Sys_User 【系统用户表】Sys_Role【角色表】3) 属性(列)命名规则:前缀+列存储内容简称举例:UserID【用户编号】UserIDRoleName【角色名称】4) 视图命名:规则:视图以V作为前缀,其他命名规则和表的命名类似;命名应尽量体现各视图的功能。举例:V_GetUserLogInfo【获取用户的登录信息】5) 触发器的命名规则:触发器以TR作为前缀,触发器名为相应的表名加上后缀,Insert触发器加_I,Delete触发器加_D,Update触发器加_U, 举例:TR_User_I【添加用户时激发】6) 存储过程命名
3、规则:存储过程应以UP_开头,和系统的存储过程区分,后续部分以存储过程内容加存储过程的动作构成(参考动软代码生成器生成存储过程的规则),并用下划线分割各个组成部分。举例:UP_Sys_User_Update【更新系统用户信息】7) 变量命名规则:变量名采用小写,若属于词组形式,用下划线分隔每个单词,举例:my_err_no。8) 命名中其他注意事项a. 以上命名都不得超过30个字符的系统限制。变量名的长度限制为29(不包括标识字符)。b. 数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要在对象名的字符之间留空格。c. 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访
4、问方法冲突d. 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。3. 项目代码命名规范1) ADO.NET 命名规范注释:动软代码生成器生成的逻辑代码除外。数据类型数据类型简写标准命名举例ConnectionconconNorthwindCommandcmdcmdReturnProductsParameterparmparmProductIDDataAdapterdaddadProductsDataReaderdtrdtrProductsDataSetdstdstNorthWindDataTabled
5、tbldtblProductDataRowdrowdrowRow98DataColumndcoldcolProductIDDataRelationdreldrelMasterDetailDataViewdvwdvwFilteredProducts2) WebControl 命名规范Web控件名简写标准命名举例AdRotatoradrtadrtExampleButtonbtnbtnSubmitCalendarcalcalMettingDatesCheckBoxchkchkBlueCheckBoxListchklchklFavColorsCompareValidatorvalcvalcValidA
6、geCustomValidatorvalxvalxDBCheckDataGriddgrddgrdTitlesDataListdlstdlstTitlesDropDownListdropdropCountriesHyperLinklnklnkDetailsImageimgimgAuntBettyImageButtonibtnibtnSubmitLabellbllblResultsLinkButtonlbtnlbtnSubmitListBoxlstlstCountriesPanelpnlpnlForm2PlaceHolderplhplhFormContentsRadioButtonradradFe
7、maleRadioButtonListradlradlGenderRangeValidatorvalgvalgAgeRegularExpressionvalevaleEmail_ValidatorRepeaterrptrptQueryResultsRequiredFieldValidatorvalrvalrFirstNameTabletbltblCountryCodesTableCelltblctblcGermanyTableRowtblrtblrCountryTextBoxtxttxtFirstNameValidationSummaryvalsvalsFormErrorsXMLxmlcxml
8、cTransformResults3) HTML控件命名规则HTML控件名简写标准命名举例HtmlAnchorhahhahUserDetialHtmlButtonhbtnhbtnConfirm HtmlFormhformhformFromUserHtmlGenericControlhgcHtmlImagehimghimgHeaderHtmlInputButton(按钮)hbbtnhbbtnButtonHtmlInputButton(重置)hrbtnhrbtnResetHtmlInputButton(提交)hcbtnhcbtnSubmit HtmlInputCheckBoxhickhickSel
9、ectAllHtmlInputFilehifilehifileUploadFileHtmlInputHiddenhihidhihidUserIDHtmlInputImagehiimghiimgUserUpdateHtmlInputRadioButtonhirbhirbSelectUserHtmlInputText(密码)hipwdhipwdUserPassHtmlInputText(文本)hitxthitxtUserNameHtmlSelecthslthsltUserHtmlTablehtabhtabHeaderHtmlTableCellhtchtcUserNameHtmlTableRowht
10、rhtrTitleHtmlTextAreahtxtahtxtaNotes4) 常量、变量名及类名命名规范a. 常量命名规则:大写英文字母加下划线举例:PRICE,MARKET_PRICEb. 变量命名变量类型类型简写标准命名举例ArrayarrarrShoppingList Boolean blnblnIsPostBackBytebytbytPixelValue CharchrchrDelimiterDateTime dtmdtmStartDateDecimaldecdecAverageHeight DoubledbldblSizeofUniverse GuidguguUserIDIntege
11、rintintRowCounter Long lng lngBillGatesIncome Object obj objReturnValue Short shr shrAverage Single sng sngMaximum String str strFirstName c. 类命名1、类名命名:以该类的具体用途命名该类类名,全英文构成,单个单词首字母大写,组合单词每个单词首字母大写,其它字母小写,例如:UserInfo,ProductDetails。2、顶级命名空间命名:例如:Test。3、类库名空间命名:“Test”+“.”+类库名,例如:Test.BLL。4、 类名空间命名:“Te
12、st”+“.”+类库名+类名,例如:Test.Model.DeptInfo。5) CSS命名规范样式表文件名 命名规则,全英文构成,单个单词首字母大写,组合单词每个单词首字母大写,其它字母小写,并以“Style”结尾,前面组合单词指明该样式表的用途,例如:HomePageStyle,表示应用于主页的全局样式表;ProudctListStyle,表示应用于产品列表的样式表。a. CSS常用命名规范头:header内容:content/container尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:leftrightcenter登
13、录条:loginbar标志:logo广告:banner页面主体:main热点:hot新闻:news下载:download子导航:subnav菜单:menu子菜单:submenu搜索:search友情链接:friendlink页脚:footer版权:copyright滚动:scroll内容:content标签页:tab文章列表:list提示信息:msg小技巧:tips栏目标题:title加入:joinus指南:guild服务:service注册:regsiter状态:status投票:vote合作伙伴:partnerb. 注释的写法/*Footer*/内容区/*EndFooter*/c. id的
14、命名(1)页面结构容器:container页头:header内容:content/container页面主体:main页尾:footer导航:nav侧栏:sidebar栏目:column页面外围控制整体布局宽度:wrapper左右中:leftrightcenter(2)导航导航:nav主导航:mainbav子导航:subnav顶导航:topnav边导航:sidebar左导航:leftsidebar右导航:rightsidebar菜单:menu子菜单:submenu标题:title摘要:summary(3)功能标志:logo广告:banner登陆:login登录条:loginbar注册:regs
15、iter搜索:search功能区:shop标题:title加入:joinus状态:status按钮:btn滚动:scroll标签页:tab文章列表:list提示信息:msg当前的:current小技巧:tips图标:icon注释:note指南:guild服务:service热点:hot新闻:news下载:download投票:vote合作伙伴:partner友情链接:link版权:copyrightd. class的命名(1)颜色:使用颜色的名称或者16进制代码。如.redcolor:red;.f60color:#f60;.ff8600color:#ff8600;(2)字体大小,直接使用fon
16、t+字体大小作为名称。如.font12pxfont-size:12px;.font9ptfont-size:9pt;(3)对齐样式,使用对齐目标的英文名称。如.leftfloat:left;.bottomfloat:bottom;(4)标题栏样式,使用类别+功能的方式命名。如.barnews.barproducte. 注意事项1.一律小写;2.尽量用英文;3.不加中杠和下划线;4.尽量不缩写,除非一看就明白的单词。主要的MasterStyle.css模块ModuleStyle.css基本共用BaseStyle.css布局,版面LayoutStyle.css主题ThemesStyle.css专栏
17、ColumnsStyle.css文字FontStyle.css表单FormsStyle.css补丁MendStyle.css打印PrintStyle.css4. 代码书写格式规范o 文件之中不得存在无规则的空行,比如说连续十个空行。一般来讲函数与函数之间的空行为2-3行。o 在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行。o 每行长度尽量避免超过屏幕宽度,应不超过80个字符。o 使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将x=a*b/c*d 写成 x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。o 避免采用过于复杂的条件测试。o 避免过多的循环
18、嵌套和条件嵌套。o 一个函数不要超过200行。一个文件应避免超过2000行。o 不可以使用goto语句。o 避免采用多赋值语句,如x = y = z;。5. 代码注释规范1) .cs文件的注释所有.cs文件开头都要加上注释,写明文件创建时间、作者、用途概述等例如:/*/新增日期:2004.7.19/作者:XXX/內容说明:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/*2) 函数过程注释所有的函数体开头都要加上注释,所以注释使用.NET注释规范。例如:/ / 构造函数/ / 示例参数1/ 示例参数2public UpgradeThread(string is_xxx1,
19、string is_xxx2)/3) 常量变量注释所有的常量变量,无论是全局还是局部使用的,凡是对代码整体起到关键性做用的都需要加上注释。例如:/ / 当前线程指向的备份文件本地保存路径/ public string strStorePath = ;4) 代码修改注释当开发者维护以前的程序代码时,需要在修改处的开始及结尾,加上自己的注释信息。例如:/BEGIN 2004-7-19 Jayson修正了XXX问题略/END 2004-7-19 Jayson注释量化标准:注释占代码量的10%及以上附录一:.NET中的命名规范名称空间的命名 命名名称空间的一般规则如下: CompanyName.Tec
20、hnologyName这样,我们看到的名称空间应该是这样的:Microsoft.Office PowerSoft.PowerBuilder 注意:这只是一个原则。第三方公司可以选择其它的名字。避免用公司名称或其它著名品牌的名称作为名称空间的前缀,这样会造成两个公布的名称空间有同一个名称的可能性。例如:将微软提供的Office自动类命名为Microsoft.Office使用Pascal大写方式,用逗号分隔逻辑成分。例如:Microsoft.Office.PowerPoint如果你的品牌使用的是非传统大写方式,那么一定要遵循你的品牌所确定使用的大写方式,即使这种方式背离了通常的名称空间大写规则。例
21、如:NeXT.WebObjectsee.cummings类和类成分的命名类的命名原则是用名词或名词短语命名类,使用Pascal大写。减少类名中缩写的使用量。不要使用任何类前缀(比如C),不要使用带下划线的字符。例如:public class FileStream public class Button public class String 变量的命名名称中各单词首字母均为大写。例如:FindLastRecordRedrawMyForm在内部范围中避免使用与外部范围中的名称相同的名称。若访问错误变量,则会产生错误结果。若变量与同一名称的关键字冲突,则必须在关键字前加适当的类型库以作标识。例如:
22、若有一个名为 date 的变量,只能通过调用System.Date来使用内部Date函数。函数和方法的命名函数和方法的命名应该以动词开始,使用Pascal大写。不要使用带下划线的字符。例如:InitNameArrayCloseDialog接口命名原则使用名词或名词短语,或者描述行为的形容词来命名接口,使用Pascal大写。 减少接口名中缩写的使用量,在接口名前加前缀I,以表示这个类型是一个接口。例如:IComponent(描述性名词) ICustomAttributeProvider(名词短语) IPersistable(形容词)参数的命名使用描述性参数名。参数名应该具有足够的描述性,这样在大
23、多数情况下参数名和它的种类可以用来确定它的意思。根据参数的意思来命名参数,而不是根据参数的种类来命名。我们希望开发工具可以用很方便的方式提供关于参数种类的信息,这样参数名可以得到更好的使用,可以对语义而不是对种类进行描述。但是偶尔使用根据类型命名的参数名也是完全可以的。不要使用保留参数。如果在下一个版本中需要更多的数据,可以增加进来。例如:Type GetType (string typeName)string Format (string format, object args)属性的命名用名词或名词短语命名属性,属性与类型要一样。 用与一个类型的名称相同的名字来命名属性时,就使这个属性的类
24、型成为那个类型。虽然听起来有些奇怪,但这是正确的。例如:public enum Color . public class Control public Color Color get . set . 事件的命名用EventHandloer后缀命名事件处理程序,使用名为sender和e的两个参数,Sender参数代表提出事件的对象。Sender参数永远是一个类型对象,即使它可能使用了更为特定的类型,与事件相关的状态被封装在一个名为e的事件类范例中。要使用这个类型的正确的、特定的事件类。例如:public delegate void MouseEventHandler(object sender, MouseEvent e);命名事件名时,需要有之前和之后的时态概念,因此要使用现在时态和过去时态(不要使用BeforeXxxAfterXxx的方式)。例如,可以被取消的结束事件就有Closing事件和Closed事件。长项和常用项的命名可使用缩写使名称长度适中,通常,多于 32 个字符的变量名在低分辨率的监视器上难以阅读。同时,请确保缩写在整个应用程序中保持一致。例如:可以使用“HTML”代替“HyperText Markup Language”。精选文档