代码书写规范V1.0.0(C#)

上传人:飞****9 文档编号:163050271 上传时间:2021-01-22 格式:DOC 页数:18 大小:117.50KB
返回 下载 相关 举报
代码书写规范V1.0.0(C#)_第1页
第1页 / 共18页
代码书写规范V1.0.0(C#)_第2页
第2页 / 共18页
代码书写规范V1.0.0(C#)_第3页
第3页 / 共18页
代码书写规范V1.0.0(C#)_第4页
第4页 / 共18页
代码书写规范V1.0.0(C#)_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《代码书写规范V1.0.0(C#)》由会员分享,可在线阅读,更多相关《代码书写规范V1.0.0(C#)(18页珍藏版)》请在金锄头文库上搜索。

1、代码书写规范撰写时间:撰写人(签字): 审批人(签字):审批日期:变更记录版本号修改点说明变更人存放位置审批人审批日期目 录前言5一.命名规则5a)命名空间命名规则51.拼写规范52.命名空间划分5b)类命名规则61.拼写规范6二.书写规范6c)类成员变量命名规则6d) 控件命名规则6e)枚举和结构命名规则7f)方法命名规则7g)属性命名规则8i)局部变量命名8j) 接口的命名9三.注释书写规范9k)命名空间注释9l)类注释9m)类成员变量注释10n)方法注释10o)内部注释10四.代码页面布局规范11p)代码格式111)缩进112)折行113)分区11五.代码书写规范11六. 数据库操作12

2、七. 其它规定12附录A:名称空间申报表14附录B:常用控件命名规则15附录C:代码规范样例17前言为了方便本项目组成员之间的沟通与交流,增强系统设计过程的规范性,在此规定代码书写规范。自此规范发布之日起后开展的项目,规范中强制性条款需要严格遵守。规范在执行过程中如产生有争议的条款,通过会议讨论进行统一。一.命名规则a)命名空间命名规则1.拼写规范命名空间的名称拼写采用Pascal形式,首字母大写,其它字母小写。大写单词首字母作为分隔,例如:RailwayStation。名称应当为能够表示中文意义的英文单词组成。如果采用缩写,缩写字母必须使用大写方式。除人名、地名外,不允许使用中文拼音。命名空

3、间的名字不能过长,原则上不超过20个字母。2.命名空间划分每一个项目只存在一个主命名空间,例如ESINT.XXX。项目下的各个子项目的名称空间由各项目组自行定义,但必须在命名空间申报处申报,例如ESINT. XXX.Model命名空间。如果项目组采用三层结构模式模型开发项目,则各层结构的名称空间必须以如下方式命名: ESINT.XXX.DAL(数据访问层),ESINT.XXX.BLL(业务逻辑层),ESINT.XXX.Model(实体层),ESINT. XXX.Web(B/S表示层),ESINT.XXX.Utility(公用函数层) ,ESINT. XXX.Form (C/S表示层), “XX

4、X”为各项目的名称.严禁在项目中使用未申报的命名空间。名称空间申报表结构见附录Ab)类命名规则1.拼写规范类名拼写采用Pascal形式,首字母大写,其它字母小写。大写单词首字母作为分隔,例如:RailwayStation。名称应当为能够表示中文意义的英文单词组成,尽量不使用缩写。类名称应当为名词或者为形容词+名词。除人名、地名外,尽量不使用中文拼音。类名不能过长,原则上不超过20个字母。二.书写规范一个文件中(.cs文件)中只能包含一个类。c)类成员变量命名规则对于类私有成员变量名采用Camel拼写方式。首字母为小写,名字前加“_”。如: private string _firstName;类

5、不能使用非私有的成员变量。应当通过属性的方式对外公开内部成员。d) 控件命名规则控件成员作为一个特例采用匈牙利命名法,前三位为缩写,常用缩写详见: 附录Be)枚举和结构命名规则枚举和结构采用Pascal拼写方式。对于枚举类型,不仅枚举类型名采用Pascal拼写,枚举选项同样采用Pascal拼写。例如: public enum CustormerType Consumer, Commercialf)方法命名规则方法采用Pascal拼写方式。名称以英文单词组成。采用动词或动词+名词的形式,动宾短语形式。如:public void Excute(),public string GetInvoiceN

6、o()。对于方法中的参数名,采用“类型缩写+Pascal”拼写方式,如:public string GetInvoiceNo(string strProductName)。参数如果为自定义类型则采用“obj+类名称”拼写方式,如:public string GetInvoiceNo(User objUser)。对于一些表示判断的方法应当使用这样的形式:IsNumeric,HasDeleted,CanOpen。采用Is、Can、Has前缀的方法必须以bool型作为返回值。表示“是否为”,采用Is前缀。如:IsNumeric。表示“能否”,采用Can前缀。如:CanOpen。表示“取得”,采用Ge

7、t前缀。如:GetSystemTime。表示“设置”,采用Set前缀。如:SetSystemTime。g)属性命名规则采用Pascal拼写方式。原则上与对应的私有成员的名称类似。例如:私有成员:_firstName属性: public string FirstName get set i)局部变量命名方法内的局部变量采用“Camel”拼写方式,变量名前将不再标注变量类型缩写,但变量名必须要有明确的具体含义,如: public string GetUserID(string userName) string userID; userID =”; return userID; 使用for循环时,如

8、果循环为嵌套循环,那循环变量从外自内依次定义为i,j,k,依此类推。 for(int i=0;i5;i+) for(int j=0;j5;j+) for(int k=0;k5;k+) j) 接口的命名接口的名称加前缀 I. interfaceICompare intcompare(); 自定义的属性以Attribute结尾publicclassAuthorAttribute:Attribute 三.注释书写规范k)命名空间注释对于命名空间不进行代码内注释。l)类注释对于公用类必须书写类注释,格式如下: /概述:/作者:/日期:/m)类成员变量注释必须符合下面的格式private string

9、_Name;/成员概述n)方法注释/概述:/作者:/日期:/参数描述/返回值描述o)内部注释在逻辑代码的内部,在程序有循环、判断、声明等位置进行注释。注释采用”/”方式,不采用”/* */”方式。在逻辑代码块的上方进行块注释,被注释的逻辑代码块与其它代码之间需要有一行的空行分隔。如果出现大量连续的注释行,要使用区块折叠起来,避免影响对代码的阅读。四.代码页面布局规范p)代码格式代码整体上应当简明。注意保持缩进,注意用空行分割逻辑代码单元。原则上在下列位置应当加空行分隔:字段声明部分结束,方法、属性之间,方法和方法之间,属性和属性之间,方法内部的逻辑代码块之间(例如两个if块之间)。1)缩进每个

10、缩紧为4个字符宽度或一个TAB,必须使用TAB缩进。2)折行除方法、属性、事件的定义行外,其它行利用折行使得代码不能超过屏幕可视宽度。3)分区 将同一种用途的代码划分为不同的region,每个分区根据不同用途写上注释。五.代码书写规范1) 严禁使用GOTO语句。2) 严禁使用魔术数字而是使用枚举类型或常量表示特殊的含义。3)避免采用多赋值语句,如x = y = z;4)使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。如将 x=a*b/c*d 写成 x=(a*b/c)*d可避免阅读者误解为x=(a*b)/(c*d)。5)文件之中不得存在无规则的空行,比如说连续十个空行。一般来讲函数与函数之间

11、的空行为1行;6)在函数体内部,在逻辑上独立的两个函数块可适当空行,一般为1-2行7)尽量用公共过程或子程序去代替重复的功能代码段。8)避免过多的循环嵌套和条件嵌套。六. 数据库操作1) 查找数据库表或视图时,只能取出确实需要的那些字段。2) 使用项目组统一的数据操作类,禁止个人自己使用不同的数据库操作类。3) 清楚明白地使用列名,而不能使用列的序号。4) 用事务保证数据的完整性。七. 其它规定1) 所有的成员变量声明在类的顶端,用一个换行把它和方法分开.2) 文件名要能反应类的内容,类名就是文件名。3) 目录结构中要反应出namespace的层次.4) 大括号和”都要新起一行.5) 用C#预

12、定义的类名,而不要用别名. string userName; 而不是 System.String userName;int number; 而不是 System.Int32;6) 始终使用 包含if下的语句,即使只有一条语句.7) switch语句一定要有default来处理意外情况.附录A:名称空间申报表项目编号项目名称主名称空间ESINT.XXX子名称空间 说明ESINT.XXX.DAL数据访问层ESINT.XXX.BLL业务逻辑层ESINT.XXX.WEBB/S表示层ESINT.XXX.Model业务实体类附录B:常用控件命名规则TextBoxtxt_#例:txt_UserNameBut

13、tonbtn_#例:btn_UserNameLabellbl_#例:lbl_UserNameDropDownListddl_#例:ddl_UserNameCheckBoxchk_#例:chk_UserNameLinkButtonlbt_#例:lbt_UserNameImageButtonibt_#例:ibt_UserNameDataGridgrd_#例:grd_UserNamePanelpnl_#例:pnl_UserNameCalendercld_#例:cld_UserAgeCheckBoxListcbl_#例:chl_UserNameListBoxlst_#例:lst_UserNameasp:HyperLinkhlk_#例:hlk_UserNa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 规章制度

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号