收藏 分享(赏)

j2ee编程规范.doc

上传人:cjc2202537 文档编号:175460 上传时间:2018-03-23 格式:DOC 页数:26 大小:121KB
下载 相关 举报
j2ee编程规范.doc_第1页
第1页 / 共26页
j2ee编程规范.doc_第2页
第2页 / 共26页
j2ee编程规范.doc_第3页
第3页 / 共26页
j2ee编程规范.doc_第4页
第4页 / 共26页
j2ee编程规范.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、文档编号:YCJAVA-2013-GF-001 版本编号:1.0.0J2EE 编程规范文档类别: 软件开发过程规范文档编号:当前版本: 1.0.0作 者:文件状态: 草案 正式发布 正在修改完成日期: 2010-6-5版 本 历 史版本/状态 作者 参与者 起止日期 备注1.0.0 XXX XXX 创建文档目 录1. 引言 .32. 开发工具 .33. 文件编排 .34. 命名规则 .45. 代码编写格式 .76. 程序编写规范 .167. 编程技巧 .191. 引言本规范定义基于 J2EE 源码级应用程序的开发规范。它基于 Java 程序语言,规定开发人员在编码过程中所要遵循的原则、标准。它

2、可供应用开发人员及系统设计人员使用。本规范描述开发人员在编码过程中所要遵循的编码风格、命名及 Java 语言的一些重要特征。这些都是通过实践经验得出的结论,而不仅仅只是理论。希望这些规范和经验能够规范大家的编程习惯,使我们的代码更加具有可读性、可维护性及标准性。本规范适用于公司中所有使用基于 J2EE 框架的 Java 程序员进行的产品和项目的应用开发。总的原则:1. 简单性原则。类定义及方法定义尽量简单。任何类及定义的变量及属性一定要有确切的含义,而且尽量简单。2. 完备性。需要写出比较完备的注释,说明代码的功能,主要特征,适用的环境,所依赖的包或子系统,前置条件,后置条件等。3. 一致性。

3、主要指两方面的一致性,1:代码风格的一致性。2:注释和代码的一致性。4. 代码的健壮性。编写代码的时候必须考虑异常情况。数据校验以及错误处理等。2. 开发工具2.1 Java 开发工具Myeclipse8.x,eclipse2.2 数据建模工具PowerDesigner12.52.3 数据库 Oracle112.3 sql 开发工具PL/SQL2.4 中间件Weblogic11、 tomcate6.02.5 版本控制系统Subversion2.6 报表插件BIRT2.7 制作流程图Visio2003、Visio20072.8 前台 UI 设置DW3. 数据库设计业务表:T_BAS_开头系统表:

4、T_SYS_ 开头视图:V_开头存储过程:P_开头函数:F_开头表属性用汉语拼音简写。4. 文件编排序号 内容 说明1 类文件描述 在这里写文件名及版权信息/* DomainObject.java* Copyright 2010 Netmail Science Co. Ltd.* All right reserved*/2 包定义 如 package mail.project.rule3 导入依赖包 按照 J2EE 标准包、J2EE 扩展包、第三方包、框架包、应用包的次序依次导入依赖包。再按照字母顺序排列。注意导入的时候必须导入到类文件,不能使用*。4 类或接口注释 编写类的注释,参见类注释一

5、节/* 通用数据持久类* * 基于 JDBC 的通用数据持久类,主要定义对象信息持久功能* author XXX, * since DataImporter-alpha-0.1* version DataImporter-alpha-0.3*/5 定义类或接口 每个 Java 源文件包含一个单一的 public class 或 interface。 当 private class 及 interface 与 public class 相关联时,可将它们放在同一个源文件中作为 private class。 public class 应当是文件中的第一个 class 及 interface,命名参

6、见类或接口的命名规则6 类的静态变量 遵循 public、protected、package(不加)、private 顺序7 类的实例变量 遵循 public、protected、package(不加)、private 顺序8 类构造方法 遵循参数由少到多的原则。注意:数据结构类的构造方法必须提供相互转换的构造方法,也可以是静态的。业务规则类在非特殊情况下原则上只能是抽象类,只能为系统提供全局静态业务方法,便于作为 SOA 架构中系统组件的WebService 发布。9 方法 1. 方法必须遵循按照功能分组的原则,比如EmployeeRule 里面需要实现一个功能,此功能是讲一条记录插入数据库

7、,插入之前需要检查数据的正确性。那么需要两个方法。一个是私有的数据校验方法,一个是保存方法。这两个方法必须写在一起,以增加代码的可读性。2. 业务规则类的 get 和 set 方法一般放在最后3. 一般遵循 public 方法放在前面,private 的方法放在后面的原则。5. 命名规则为了让项目中所有的文档具有一致性,增加可读性,保证产品和项目的可维护性,在命名时用英文为类或方法等赋予表义性强的名字。比如方法名 doIt、getIt 的可读性很难与 calculateSalesTax、retrieveByUserID 相比。给正确的命名,可使程序工程的调试和维护工作大大的改观。认真对待方法命

8、名的工作,不要为了减少键入操作量而降低可理解度。命名也不适于过长。除了广为人知通用的和公司专门作了规定的单词以外,不要自行使用缩写,由缩写方法名组成的代码很难理解和维护。 Package包(Package)的命名用点号来分隔,全都都是小写名词,即便中间的单词亦是如此。命名原则为:mail.系统名称.子系统.应用类型。 Class/Interface类/接口(class/interface )名必须由大写字母开头而其他字母都小写用名词组成。类的命名必须采用名词,或动宾结构的单词,而且必须加上代表其含义的后缀。对类的命名规范如下:ClassName所属类别通用的类名(文件)包括: 接口 Inter

9、faceName 抽象类 AbstractClassName 基本实现类 BaseInterfaceName 缺省实现类 DefaultInterfaceName 工具类 ClassNameUtil 辅助类 ClassNameHelper 业务规则接口 InterfaceNameRule 业务规则实现类 ClassNameRuleImpl 数据持久接口 InterfaceNameDao 数据持久实现类 TypeClassNameDao Action 类 ClassNameAction Filter 类 ClassNameFilter 异常类 ClassNameException 属性属性一般使

10、用名词,首字母小写,大写中间单词的首字母。例如: fieldName1. 对于 PO 或 VO 的属性,我们采用数据库的指标体系来命名。2. 对于服务中所引用的其他服务采用配置文件中的服务名,如 commonDao。3. 所有属性都需要初始化。 变量不要用_或public List getPersons() return this.persons;public void setPersons(List persons) this.persons = persons;public void removePerson(Person person)this.person.remove(person)

11、;public void addPerson(Person person)this.persons.add(person);public Person getPerson(String personId)return this.person; 参数参数一般使用名词,首字母小写,大写中间单词的首字母。 例如:parameterName 使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字,例如:public void setCounter(int size) this.size = size; 数组数组应该总是用这种方式来命名:byte buffer 而不是: byte buffer

12、;一般定义数组的时候需要初始化数组。String dw = “aaa“ , “bbb“或 String dw = null; 异常命名异常类必须以 Exception,命名一般采用 ex;6. 代码编写格式6.1.代码样式 代码应该尽量使用跨平台的格式(比如:使用换行符System.getProperty(“line.separator“)) ,而不是特定于某一平台的格式,如 windows 的格式(比如:回车变成回车+换行) 。6.2.文档化必须用 javadoc 来为类生成文档。不仅因为它是标准,这也是被各种 java 编译器都认可的方法。javadoc 是一种文档产生工具,它可以方便的将

13、源文件中的注释转成标准的 java 文档。 只要在写注释的时候按照一定标准来写就可以了。下表是 javadoc 支持的一些标签。我们应该在自己的注释中应用 javadoc 规范。TAG 标签 使用对象 目的author name Interfaces,Classes,标识作者一个author 对应一个作者deprecated Interfaces,Classes,Member Functions表示这个API已经不推荐使用,请使用其他类型代替exception name description Member Functions 描述方法会抛出的异常一个标签对应一个异常name 应该是异常类的全

14、名param name description Member Functions 用来描述参数, 包括它的类型和使用方法return description Member Functions 返回值说明, 包括类型, 和代表的意义since Interfaces,Classes, Member Functions显示该类文件什么时候开始存在的例如 since JDK 1.1see ClassName Classes,Interfaces,MemberFunctions, Fields建立一个超级连接到指定的class作为参考see ClassName#memberfunctionNameCla

15、sses,Interfaces,MemberFunctions, Fields建立一个超级连接到指定的某一个方法中去version text Classes,Interfaces版本号注:todo 标签在 Eclipse 中有特殊的提示作用,可以考虑在注释中使用。6.3.缩进在 if 语句、else 语句、switch 语句、case 语句、do 语句后缩进;已经用行接续符分割的语句的各个行要缩进对从属于行标注的代码进行缩进当你将变量设置为某个值时,所有后续行的缩进位置应与第一行的变量值相同;当你调用一个方法时,后续行缩进到第一个参数的开始处;当你将变量或属性设置为等于表达式的计算结果时,请从

16、后面分割该语句,以确保该表达式尽可能放在同一行上。由于在使用不同的源代码管理工具时 Tab 字符将因为用户设置的不同而扩展为不同的宽度,缩进应该保持每个 Tab 等于 4 个空格。6.4.页宽页宽应该设置为 80 字符。源代码一般不应超过这个宽度, 否则可能导致无法完整显示, 但这一设置也可以灵活调整。当一个表达式在一行中写不下时,按如下规则换行: 逗号“, ”后断开 操作符后断开 新行中表达式的起点与前一行左对齐。6.5.注释6.5.1. 目的 文字说明代码的作用(即为什么要编写该代码,而不是如何编写) ,使代码的阅读者不必在他们的头脑中仿真运行代码的执行方法。 明确指出该代码的编写思路和逻辑方法。 提示人们注意到代码中的重要转折点。 文档化。6.5.2. 场景 注释类或接口的开发/维护历史、已知的问题、目的、以及它应如何被使用以及不被如何使用等。 注释所有的常量。 注释字段(field)/属性( property) 。 注释方法的开发/维护历史、已知的问题、做什么以及为什么这样做、必须传递哪些参数、返回结果、抛出的异常、它内部是如何改变对象以及适用的前提条件和后置条件等。 注释方法的参数的作用以及它的任何约束或前提条件。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报