为了保密性,我将公司的简写换成了我的英文名字,其它一律没变。
1.1引言 编写目的
2 避免开发过程中出现不规范的代码,防止错误的使用框架开发引起不必要的问题。
2 解决今后产品的维护工作,使代码易读、易懂、易维护。
2 规范新人员的开发习惯保证与公司开发的一致性,指导新人员开发工作
1.2 定义
? 实体:具有相同属性描述的对象(人、地点、事物)的集合。
? 引用:实体A依赖实体B时,则可以说是实体A引用实体B的数据。
1.3 约束
符合JAVA基本开发规范
Base包中的使用请参考技术文档。
2 目录结构
2.1 com.evan.base.action:
Com表示公司,evan公司简拼、base为基础类库,其他的则为系统简称,action为中存放的是各模块名称,在各模块下面建立访问Action,Action统一继承BaseAction,除特特殊情况外。
2.2 com.evan.base.service
在service是存放的是各模块的业务包,在业务包下面开发相应的业务功能,所有的基础业务类都继承BaseService类。
2.3 Com.evan.cmeav.pojo
在该包中存放的是所有的与关系表对应的类,如:SysUser对应表sys_user,其中cmeav为系统简称。
2.4 Com.evan.base.mapper
在该包中存放的是各基础模块实体与关系表映射的接口类与映射的XML。类与映射文件的写法请参考MyBatis的说明文档。
2.5 Com.evan.util
该包中存放的是通用的工具类,如:MD5加密、日期格式化、特殊字符处理等。不允许存在与业务系统相关的业务工具类。
2.6 Config
其中存放的是数据库连接配置文件。
2.7 Struts
其中存放的是struts映射文件
3 命名规范
2 JSP文件名称统一使用大写字母开头,并且文件名称具有一定的描述易懂性。
2 所有的service包中的业务类名称统一以Service结尾。如UserService,类的命名必须具有一定的描述性
2 所有的Action命名都以Action结尾如:UserAction。
2 所有的接口类以大写I开头,接口的实现则以Impl结尾,如:IUserService,接口的实现则以IUserServiceImpl命名方式实现
2 Struts映射文件中包的命名空间,必须有一定的层次描述意义,如:/login/admin,表示这是超级管员Admin登陆模块。注:全局Action包名不需要命名空间(namespace)。
4 代码规范
? 公开的业务方法必须有相应的注释,在方法之前用以下格式:/** 注释内容 */,在注释内容内注明相应的定义,至少注明:参数定义、方法作用、作者。在方法中的注释统计使用:双斜杠(//)或/* */注释代码。
? 代码段原则上要放在大括号{}之内,如果只有一行代码也必须放在大括号之中,不允许省略,并且大括号不允许与其中的代码段在同一行。
5 技术规范
5.1 URL
请求时都以.htm后缀结尾,除特殊业务外。在BaseAction中有全局的RootPath值,在URL前需加上rootpath的值来保证请求的URL正确性,也可使用struts标签处理URL。
5.2 缓存规范
5.2.1 内存缓存
通常缓存内容较少且不常变动的类型的数据,如:性别、行业类型、职业、学历等。
5.2.2 文件缓存
存放数据较多、访问频繁,且不常维护的数据。