c编码规范和命名约定

上传人:shaoy****1971 文档编号:108109867 上传时间:2019-10-22 格式:DOC 页数:23 大小:154KB
返回 下载 相关 举报
c编码规范和命名约定_第1页
第1页 / 共23页
c编码规范和命名约定_第2页
第2页 / 共23页
c编码规范和命名约定_第3页
第3页 / 共23页
c编码规范和命名约定_第4页
第4页 / 共23页
c编码规范和命名约定_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《c编码规范和命名约定》由会员分享,可在线阅读,更多相关《c编码规范和命名约定(23页珍藏版)》请在金锄头文库上搜索。

1、编码标准编码标准 摘要摘要 本编码规则为部门级编码规则,主要针对部门内产品研发项目和定制开发项目中采用 C#编码的程序采用 该规则。 变更历史变更历史 日期日期版本版本作者作者修改内容修改内容 目录目录 一、一、关于本文关于本文.4 二、二、工程和目录的结构工程和目录的结构.4 三、三、源文件的布局源文件的布局.4 3.1 文件头声明5 3.2 命名空间的引入6 3.3 命名空间(NAMESPACE)的定义7 3.4 类(CLASS)的定义7 3.5 用户自定义类型8 3.6 域(FIELDS)定义区9 3.7 构造器及销毁器定义区10 3.8 属性(PROPERTIES)定义区11 3.9

2、方法(METHODS)定义区.12 四、四、排版格式排版格式.13 4.1 缩进对齐13 4.2 注释14 4.8 大括号()14 4.9 中括号()15 4.10 小括号(())15 4.7 操作符15 4.8 使用 REGION 分段的规定:.16 五、五、命名规约命名规约.17 5.1 大小写风格.17 5.2 大小写敏感性17 5.3 名称的选择17 5.4 命名规则18 六、六、异常处理异常处理.20 6.1 系统异常的处理20 6.2 私有异常的处理20 七、七、应该注意的问题应该注意的问题.21 八、八、数据库命名规则数据库命名规则.23 8.3 数据库表与字段命名规则.23 一

3、、一、关于本文关于本文 本文是开发一部 C#项目的开发编码规范,本文中所描述的规则和惯例都是针对于 C#开发语言的 当然在使用其他开发语言时,本文的很多内容仍然是有帮助的。 二、二、工程和目录的结构工程和目录的结构 1 控制每个工程的文件(类)的数目,通常不应该超过 2000 个。每一个类应该分别放在单独的文件中, 并且文件的命名应该与类名保持一致。这样可以使结构更加清晰; 2 目录结构应该与代码中的命名空间结构保持一致,这样可以使目录结构与命名空间之间有清晰的映射 关系; 三、三、源文件的布局源文件的布局 C#代码文件的内容应该符合下述的格式: 文件头声明 其他命名空间的引入 命名空间(na

4、mespace)定义 类(class)声明 用户自定义类型区 域(Fields)定义区 构造器及销毁器定义区 属性(Properties)定义区 索引器(Indexers)定义区 重载操作符(Operators)定义区 事件(Events)的定义区 方法(Methods)定义区 其中每一项的规范和说明在以下的各节中详细描述。 3.13.1 文件头声明文件头声明 每一个源代码文件的最开始都应该保留完整的文件头,其格式样例如下: / AddOrdersToLoadForm.aspx.cs / /此处描述该文件的内容和用途。 / /- / / /- / PowerXXXX / / /the init

5、ial version created. / / / / 说明:说明: a.C#文件的注释是采用 XML 风格的,便于日后生成帮助文档; b.元素描述了本源文件的名称。因为大多数情况下,文件名即为类名,所以要求文件名的大 小写与类名严格保持一致; c.元素概要描述了该文件的内容和用途; d.元素描述了版权信息; e.元素描述本代码所属的产品的名称; f.元素列举了本代码的变更历史。每一次版本变更所对应的版本号、日期、修改担当人、修 改原因和修改内容,都要详细记录下来。开始实施版本控制的时机在软件配置管理过程文档中规定; g.元素描述了本代码的当前版本; h.各个标签必须使用制表符(Tab)对齐

6、,不能使用空格;每个标签内的各个属性之间用一个空格分隔; 日期应该按照 yyyy-mm-dd 的格式书写;所有的标签和属性名统一使用小写字母。 注:本节为可选 3.23.2 命名空间的引入命名空间的引入 using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Web; using System.Web.SessionState; using Syst

7、em.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using Power.Util.Common; using Power.PlatForm.Login; using Power.WMS.BusinessObject; 说明:说明: a.引入命名空间时应该按照顺序:首先引入系统命名空间,其次引入第三方控件命名空间,最后引入本 系统的其他命名空间; b.相同的命名空间不可以重复引入; c.要求所有的语句顶行书写,前面不要留有任何空格;using 与命名空间之间以一个空格符分隔。 3.33.3

8、 命名空间(命名空间(namespacenamespace)的定义)的定义 namespace Power.Util.Data 说明:说明: a.命名空间的命名应严格按照命名规范的要求,详细请看命名规范章节; b.语句应该顶行书写,前面不要留有任何空格(命名空间嵌套的情况除外);namespace 与命名空间之 间以一个空格符分隔; c.命名空间所对应的大括号应该与 namespace 关键字的第一个字符保持在同一列上。 3.43.4 类(类(classclass)的定义)的定义 / / 类的简要描述。 / / /类的详细说明。 / public class UserGroupMapData

9、: DBDataBase, IUserGroupMap 说明:说明: a.元素简要描述此类所实现的功能。因为这项注释是为了生成 tip 帮助,所以不应该太长; b.详细描述类的功能、使用方法、注意事项、以及与其它类的关系; c.类的命名应严格按照命名规范的要求,详细请看命名规范章节; d.如果类继承了一个基类,并同时实现了一些接口(Interface),应该先列出基类,然后再逐次列出 各个要实现的接口; e.每行语句前面应该用制表符(Tab)对齐,不应该使用空格符。各关键字之间,以及类名和基类、接 口之间应该以一个空格符分隔; f.类所对应的大括号应该与 class 关键字的第一个字符保持在同

10、一列上。 3.53.5 用户自定义类型用户自定义类型 #region - User Defined Types - public enum Columns ID, UserCode, GroupCode, Status, CreatedBy, CreateDate, UpdatedBy, UpdateDate public enum Status Active,/ 有效 Inactive/ 无效 #endregion 说明:说明: a.整个用户自定义类型区应该用预定义语句#region - User Defined Types -/#endregion 包含起来, 这样可以使代码的可读性更强;

11、 b.在用户自定义类型区内逐次列出每一个用户自定义的类型,相邻的两个类型以一个空行作为分隔符; c.类型的命名应该严格按照命名规范的要求,详细请看命名规范章节; d.对于不能从命名中直接看出其含义的类型,应该加以注释;注释采用行注释的风格;注释与正文之间 用制表符(Tab)隔开并对齐; e.每行语句前面应该用制表符(Tab)对齐,不应该使用空格符。各关键字与类型名之间应该以一个空 格符分隔; f.类型所对应的大括号应该与 class 关键字的第一个字符保持在同一列上;类型的每一个元素应该单独 占一行,并对齐。 3.63.6 域(域(FieldsFields)定义区)定义区 #region Fi

12、elds - private DataViewview;/ 数据源对象 private UsersDatadtoUser;/ User DTO对象 / - Page Gernaral Tab Controls - protected System.Web.UI.WebControls.LinkButtonbtnDtlNew;/ new按钮 protected System.Web.UI.WebControls.LinkButtonbtnDtlCommit;/ commit按钮 protected System.Web.UI.WebControls.LinkButtonbtnDtlCancel;

13、/ cancel按钮 / - Gernaral Tab Controls - protected System.Web.UI.WebControls.DropDownListlstFacilityCode;/ fac下拉列表 protected System.Web.UI.WebControls.TextBoxtxtAllocRuleCode;/ code文本框 protected System.Web.UI.WebControls.TextBoxtxtDescription;/ desc文本框 protected System.Web.UI.WebControls.TextBoxtxtAll

14、ocRuleName;/ name文本框 #endregion 说明:说明: a.整个域定义区应该用预定义语句#region - Fields -/#endregion 包含起来,以提高代码的可读性; b.域的命名应该严格按照命名规范的要求,详细请看命名规范章节; c.在域定义区内逐次列出每一个域;应该按照域的类型、功能或位置等进行分类,同类别的域列在一起, 并用行注释进行说明;应该在每一个域的定义后面,以行注释的风格进行说明;注释与正文之间用制 表符(Tab)隔开并对齐; d.每一个定义前面应该用制表符(Tab)对齐;域的类型和域名之间应该用制表符(Tab)对齐;域的注 释和正文之间应该用制

15、表符(Tab)对齐。 3.73.7 构造器及销毁器定义区构造器及销毁器定义区 #region Constructors - / /默认构造器 / public UserGroupMapData() / Utilize Properties to set the Proposed values this.ID_ = “; / /根据id构造对象 / / 记录标识 public UserGroupMapData(string id) / Utilize Properties to set the Proposed values this.ID_ = id; #endregion 说明:说明: a.整个构造器及销毁器定义区应该用预定义语句#region Constructors -/#endregion包含起来, 以提高代码的可读性; b.在定义区内应该先列出默认构造器(如果存在),再逐次列出其他附加构造器;因为C#提供垃圾收集 器的功能,所以在大多数情况下不需要实现销毁

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

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

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