NET程序编码规范.doc_第1页
NET程序编码规范.doc_第2页
NET程序编码规范.doc_第3页
NET程序编码规范.doc_第4页
NET程序编码规范.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NET程序编码规范(C#)一、 命名规范 以下编码规范适用于C#开发。 以下命名规则如不特别说明一律采用Pascal命名方法,即首字母及每个单词首字大写。 Class(类),接口命名 名字应该能够标识事物的特性。 名字尽量不使用缩写,除非它是众所周知的。 名字可以有两个或三个单词组成,但通常不应多于三个。 例如 IsSuperUser,包含ID的,ID全部大写,如CustomerID。 使用名词或名词短语命名类。 少用缩写。例如:class MyButton class Dog 接口名称加前缀例如: Interface IAnimal 函数方法、委托、事件及属性命名 函数方法以动词或动词短语命名。无需区分函数和子程序,无返回值则为void。 类内部私有函数函数名第一个字母不需要大写。如:private void clearText() 方法中如果是获取数据,则采用Get前缀,更新数据采用Update前缀。例如: public string GetConnection() /定义方法protected string UpdatePrivilege() private void clearText() 普通的委托类型以描述动作的名词命名,以体现委托类型实例的功能: 用于事件处理的委派类型,必须以EventHandler结尾,如:public delegate void InvateEventHandler(string InvitedName); 事件是特殊的属性,只能在事件处理上下文中使用。命名的原则一般是动词或动词的分词,通过时态表明事件发生的时间,可以加上后缀Event: 例如:public event InvateEventHandler InvateEvent 属性命名采用描述性名词或名词短语,属性必须对应于相关的私有字段 例如: /定义属性 private string name;public string Name get return name; set name = value; 常量、变量命名 变量命名延用匈牙利命名规则。 变量定义示例: Boolean b bFoundByte i iRasterData Short i iCount Int i iQuantity Long i iDistance float f fAverage Double dbl dblTolerance object obj objCurrent string str strNameArrayList arr arrValuesDateTime dt dtLgoinDate 常量命名全部大写 const int PAGE_SIZE = 20; ADO.NET 对象命名 对象定义示例: Connection cnn cnnCommon Command cmd cmdUpdate DataReader dr drUser DataSet ds dsCustomer DataAdapet da daCommon 作用域命名 局部变量 按照变量命名规则, 不使用前缀模块级变量 m_dsCustomer 前缀m_系统全局变量 g_strConnection 前缀g_类的属性所对应的变量, m_strName前缀m_ 函数的参数 p_strSQL 前缀p_ 补充说明: 针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为e; 如果有冲突的情况下,可以重复e,比如:ee。Try / your code try / code catch(Exception ee) / your code catch(Exception e) / your code 补充:如果捕获异常不需要作任何处理,则不需要定义Exception实例例: try / your code catch( Exception ) / your code 二、 控件 以下为常用控件 控件 前缀 Label lbl TextBox txt CheckBox chk Button btn ListBox lst Calendar cal DataGrid dg DataList dl LinkButton lbn ListBox lbx Panel pnl RadioButton rad 三、 注释规范 函数的注释由于.NET提供了XML注释,推荐在函数方法前采用XML注释/ / MyDataGrid 的摘要说明。 / 采用XML注释后可以将注释直接导出成DOC文件。l 模块开始必须以以下形式书写模块注释:/ / 模块编号:/ 作用:/ 作者:作者中文名 / 编写日期: / l 如果模块有修改,则每次修改必须添加以下注释:/ / Log编号:/ 修改描述: / 作者:修改者中文名 / 修改日期: / l 在类的方法声明前必须以以下格式编写注释 / / 说明: / / / / / l 代码间注释分为单行注释和多行注释:单行注释: / 多行注释: /* 多行注释1 多行注释2 多行注释3*/ 代码中遇到语句块时必须添加注释(if,for,foreach,),添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等)。 函数体内亦需要一定的注释 对函数体内重要的代码行作注释;对函数体内不易读懂的代码作注释。(程序员应自己控制号程序的注释代码量,正常情况为20%) 四、 程序风格 大小写 C#是大小写敏感的语言。l 缩进与对齐 l 函数体的代码行需要缩进和对齐l 所有的缩进为4个空格,使用VS.NET的默认设置。l 在代码中垂直对齐左括号和右括号。例如: if(x=0) Console.Write(用户编号必须输入!); 不允许以下情况:if(x=0) Console.Write(用户编号必须输入!); 或者: if(x=0) Console.Write(用户编号必须输入!); 留空 l 函数与函数之间一定要留有一空行 l 函数中不同类的代码应该留一空行 函数的行数l 原则上一个函数的代码不应超过50行l 如果函数行数太多,应将函数拆分成多个子函数实现 代码的格式 l 代码在1024*768的显示频率下不要超过一显示屏 l 当一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。 l 每一行上放置的语句避免超过一条。l 在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。例: int j = i + k;而不应写为 int j=i+k;l 将大的复杂代码节分为较小的、易于理解的模块。l 编写 SQL 语句时,对于关键词使用全部大写,对于数据库元素(如表、列和视图)使用大小写混合。l 将每个主要的 SQL 子句放在不同的行上,这样更容易阅读和编辑语句, 例如: SELECT FirstName, LastName FROM Customers WHERE State = WA 五、 编程规范 重要操作的确认 当进行一些重要操作时,应当提示用户,要求确认,以防止误操作。 例如: 修改密码、删除、作废、启用、停用、退出系统等。 耗时操作应加入等待提示 当进行一些诸如创建数据库、调用中间层对象等长时间执行的操作时,应提示用户等待。 程序意外出错处理 对于一些有安全隐患的语句,如:(1) 对数据库的操作;(2) 调用中间层对象的方法;应放在 try codecatch(Exception e) 语句中,既可以捕捉到意外错误又可以屏蔽系统错误提示;程序出错时,应尽量给出准确详细的提示。 数据校验 数据非空检验:检查必须输入内容的控件。数据唯一性检验:保证数据的不重复性,如:编号、流水号等有效性检验:保证数据格式的正确,如日期,邮件地址,电话号码等以上所有的校验都在确认提交时执行,校验未通过应给予提示。 缺省值设定 根据业务需要,页面上的一些特定控件必须提供缺省值。日期:根据具体情况系统自动提供一个默认日期,一般为当前日期数值:提供一个常用业务数值其它需要缺省设置的控件 支持键盘操作应支持 TAB 键,并注意控件获得焦点的顺序;应尽可能支持回车键移动焦点;应支持快捷键。快捷键的定义列表如下:(其它快捷键根据需要自行定义) 查询 f 选择 l 保存 s 取消 c 增加 a 编辑 e 作废 v 打印 p 退出 q 返回 r 更新 u 六、 项目文件夹的命名 项目工程名,以能概要说明项目描述的名词或名词短语、缩写命名。如:物业管理 wygl 为系统各个模块命名一个缩写形式,缩写通常为2位。如: 系统模块 SM 项目管理模块 PJ公共信息 CI 个人信息 PI 人员管理 EM 工程下为每个模块建立以模块名命名的文件夹。 另外有些特定的文件夹可以存放一些相关文件,如:项目名Include 存放此项目的各种公用函数 项目名Script 存放此项目的各种公用脚本文件 项目名Document 存放此项目的各种开发文档项目名Version 存放此项目的各种不同版本的文件 项目名Help 存放此项目的帮助文档和操作手册等 项目名Test 存放此项目的测试文档和测试文件 项目名Database 存放此项目的数据库,表结构、SQL语句等。 各个模块内的程序文件都放在各自模块的活页夹下。模块中的报表单元文件放在模块活页夹下的Report活页夹下,报表过滤单元放在模块活页夹下。 单元文件以概要说明此单元功能的名词或名词短语命名,模块缩写的小写形式为前缀,如:smSetOffice.cs。 报表过滤单元命名为 模块名+Rpt+描述名词.cs,如:omRptProjOrderSum.cs七、 组件开发规范 项目开发中对数据库操作和相关业务内部实现应尽可能采用组件编写。 所有的组件采用C#开发。如果考虑到源代码的保密性,可以将已经编译的DLL文件放入工程项目,而并不将cs 文件直接包括在工程文件中,不过此时的DLL还是能够反编译的。 编写组件时默认名空间是你的cs文件所在目录结构,如果此COM为共享(一个项目内或多个项目)的,则应该指定相关名字空间,例如:Gemdalepm.Tech.Picture(公司名.部门名.实现功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论