-
风格
-
工程规范
-
包结构
-
com.sinosig.项目名
- base
- util
- common
- sms
- user
- controller/web
- dao
- model
- service
- impl
- common
-
分层
- 系统结构
- 结合命名规范
-
命名规范
- 正确英文拼写,禁止中英文混合
-
类名UpperCamelCase、名词
- 接口实现类 XXServiceImpl
- 接口:IXXService
- 数据操作服务类,IxxxDBService,继承if-base中的IBaseDBService
- 持久层:IxxxMapper
-
方法名lowerCamelCase、动宾
-
DB操作
- 插入数据库方法命名为saveXXX();
- 删除数据库方法命名为removeXXX();
- 更新数据库方法命名为editXXX();
- 查询数据库方法命名为queryXXX()。
- 子主题 2
- 常量全大写,用_连接
- 格式
-
注释
-
完备的javadoc注释
- 引入code template
-
范围
- 类:业务含义;变更记录注释
- 方法:入参、出参、业务逻辑描述;方法变更后重新生成补充
- 域:业务含义、格式、默认值等
-
代码内注释
- 业务含义
- 业务原因
- 复杂的业务逻辑,需要清晰的说明
- 修改,变更标识
- 参照IDE格式化
-
编程
-
日志规范
-
log配置、分级别记录
- 生产、测试、开发的日志级别是不一样的。
- 避免重复打印日志,浪费磁盘空间,务必在 log4j.xml 中设置 additivity=false。
-
代码日志记录
- 形式
- 内容
-
注意事项
- 日志长度
- 开发时养成看log日志的习惯,权衡日志完整性,是否能定位问题
- 多线程情况下,逐条日志是否能定位出某一请求
-
Unearned
Revenue:
- 100,000
-
可见性规范
- 定义类、方法时,建议尽量将其可见性缩减到最低。
- 模型 域,尤其减少set方法使用,使用构造函数
-
junit 测试
- 覆盖范围
- 使用IDE new junit test case
- spring 测试,继承BaseSpring
- springmvc测试,继承BaseMockMvc。模拟请求
-
controller
- 类@RequestMapping("XXX") xxx单个名词
- 方法@RequestMapping("xxx") xxx中不用包含类RequestMapping含义
-
REST 风格
- 单条查询@PathVariable
- 列表查询 list
- jsp 放在WEB-INF下,所有跳转在controller中做,url命名toXXX,例如toLogin
- 数据库
- 安全
- 异常处理
-
其他
- 分页:pagehelper