Arch4系统开发指南-开发规范篇 中科软科技股份有限公司
5.3 词根表
在命名的时候,参照部门定义的词根表进行。里面包含词根的英文名、缩写及对应的中文意思。 部门词根表的文件名为“FI-WordRoot.xml”。
第 11 页 共 20 页
Arch4系统开发指南-开发规范篇 中科软科技股份有限公司
6 开发规范
6.1 子系统/模块规范
6.1.1 子系统命名规范
规则为 应用名+子系统名 如保险系统包名为ins
则中科软理赔子系统包名为 ins.claim
6.1.2 模块命名规范
按照业务划分,如理赔包括报案、立案、结案等环节,可以按照环节划分模块。即报案模块、立案模块、结案模块等。
中科软第二代理赔子系统报案模块包名为对应的包名为ins.claim.regist 中科软第二代理赔子系统立案模块包名为对应的包名为ins.claim.claim 每个模块下都有相同的包结构,参“3.2.2Java程序目录结构”:
6.1.3 特殊模块
除了对应业务的模块外,还包括接口模块。负责与外部系统的交互,如中科软第二代理赔子系统接口模块包名为对应的包名为ins.claim.interf
包名 ins.claim.interf ins.claim.interf.servlet ins.claim.interf.webservice ins.claim.interf.XXX
说明 公共模块根目录 与外部系统通过Servlet交互的目录 与外部系统通过WebService方式交互的目录 与外部系统通过XXX方式交互的目录 6.2 WEB层规范
6.2.1 命名规范
1. Action类必须存放在ins.subsystems.module.web包下。
第 12 页 共 20 页
Arch4系统开发指南-开发规范篇 中科软科技股份有限公司
2. ins.subsystems.module.web包下的类全部都要以“Action”结尾。 3. Action类必须继承ins.components.web.Struts2Actionn类。 4. 类名为:模块名+后缀,如报案模块的Web层Java类名为 RegistAction
6.2.2 类编程规范
1. 在WEB层类不允许用“new”关键字创建业务层和持久层类对象。
2. 在WEB层类不允许出现与SQL语句相关的代码,不允许调用任何类拼写SQL语句。
6.2.3 方法编程规范
1. 调用业务层的Service必须通过接口注入。
2. 在查询和翻页查询的方法中,必须把从业务层Service返回的结果集存放到Page对象中。 3. WEB层的类之间不允许互相调用。
4. WEB层仅可以抛出DataVerifyException和PermissionException。
5. 方法名为:动词+名词,如新增报案方法名为 addRegist,更新报案为updateRegist。
6.3 业务层规范
6.3.1 命名规范
1. ins.subsystems.module.service包下不能有文件。
2. ins.subsystems.module.service.facade包下的接口名必须以Service结尾。 3. ins.subsystems.module.service.spring包下的类名必须以ServiceSpringImpl结尾。
4. 类名为:模块名+后缀,如报案模块的业务层Java类的facade名为 RegistService,其Spring的
实现类的名字为RegistSeviceSpringImpl
6.3.2 方法命名规范
Service方法命名规范如下: 方法前缀 add update find check delete 说明 增加 更新 查询、获取等(单条或多条记录) 检查 删除 示例 addUser、addRole updateUser、updateRole findUser、findRole、findUserById、findUserByUserCode deleteUser、deleteRole 注意:由于和getter方法混淆,这里不采用get作为业务方法的前缀,而改用find。
第 13 页 共 20 页
Arch4系统开发指南-开发规范篇 中科软科技股份有限公司
6.3.3 类编程规范
1. 所有的ServiceSpringImpl类必须实现对应的Service接口,类和接口的名称仅相差“SpringImpl”。 2. ServiceSpringImpl类必须配置在/src/resources/spring/serviceContext.xml文件中,
值必须是首字母小写的Service接口名。
3. ServiceSpringImpl类的类变量只能用于定义Service引用,且只可用private修饰,对于这些Service
引用,只需要在ServiceSpringImpl类中生成set方法。
4. ServiceSpringImpl类的Service引用的变量名必须与serviceContext.xml文件中定义的
的id属性值相同。
6.3.4 方法编程规范
1. 在ServiceSpringImpl类中不允许使用“new”关键字创建持久层对象和WEB层对象。 2. 在业务层仅可以抛出BusinessException。
6.4 实体类(PO)规范
1. PO类由HibernateTools(Sinosoft版本)生成,不允许做任何修改的,也不允许在这个包下新增
类。
2. PO类中的属性区分大小写,在编写hibernate.reveng.xml文件时指定将自动生成。 3. PO类统一生成到ins.subsystems.schema.model包下(不分模块)。 4. 类名为:对象名。通常按照表名命名,区分大小写。
如:表prplregist对应的PO类为PrpLregist
第 14 页 共 20 页
Arch4系统开发指南-开发规范篇 中科软科技股份有限公司
7 实现高效Java编程的基础规则
7.1 避免使用new关键字来创建String对象
把一个String常量copy到String 对象中通常是多余、浪费时间的。
public class test{ public void method(){ System.out.print (str); } private String str = new String (\这里新建对象是完全没有必要的 private String str2=”2” //正确的应该如此 } 7.2 避免使用不必要的嵌套
过多的嵌套会使你的代码复杂化,减弱可读性。
public class test { string add (){ int c=(a=a+b)+b; //过于复杂 return c } } 7.3 避免在同一行声明多个变量
避免在同一行声明多个变量,这样可以使程序更加清晰,提高可读性。 错误的方法:
private int index, index1[]; 正确的方法:
private int index; private int index1[]; 7.4 避免使用不推荐的API
避免使用不推荐的API。有一些方法加了\标记,表示不推荐使用(通常在JavaDoc中还提供了替代方法)。如List类中add方法加了\标记,参考JavaDoc发现其建议用add()来代替addItem()。
错误的方法:
第 15 页 共 20 页