一般

简介

主页

工作流

开发规范

命名规约

  • 类名使用UpperCamelCase 例如:MyFirstClass
  • 方法名,参数名,成员变量使用lowerCamelCase 例如:myFirstFunction
  • 常量大写 例如:MY_CONST_VALUE
  • 包名使用小写 例如: com.sailing.demo.controller
  • Server DAO 命名规约
    • 获取单个对象使用get前缀
    • 获取多个对象使用list前缀
    • 获取统计值方法用count前缀
    • 插入方法用save
    • 删除方法用remove
    • 修改方法用update
  • url 地址及get参数全部小写,单词使用-分割 例如:http://www.123abc.com?test=123

OPP规约

  • 比较时常量放置在左侧,变量放置在右侧,可以避免空指针 例如: "test".equals(testObj.toString())
  • POJO类 方法返回值 方法参数 使用包装类型(Boolean Intger等)避免初始值混淆
  • 局部变量可以使用基本数据类型
  • POJO类必须包含 serialVersionUID
  • 字符串连接不能使用+ 推荐StringBuilder 或 String.formatter

集合规约

  • 不要在foreach 循环中进行元素的add/remove
  • 使用entrySet遍历Map,不使用keySet

并发规约

  • 创建线程池时必须制定线程池名称 便于日志排错
  • 线程使用线程池创建,避免手动创建线程
  • 并发高的数据写入,一定需要加锁,要么在应用层加锁 要么在数据库层使用乐观锁

注释规约

  • 后台代码必须使用javadoc进行必要的方法和参数注释
  • 版本更新是添加的代码必须注释 且注释需要包含修改人 修改日期 修改原因
  • 如果存在被注释的代码 需要注明被注释的原因,如果该代码已经废除,则直接删除 不允许无说明的注释代码 如果代码需要保持不同版本 使用版本管理来进行控制 无标注的注释会让维护人员无从下手
  • 灵活使用 todo fixme 或其他自定注释标记

测试规约

  • 所有接口必须对controller层做单元测试
  • 根据情况对service层做单元测试

编码规约

  • 缓存机制统一在service层使用
  • AOP日志统一在controller层使用
  • 使用全局异常处理来进行未知异常的捕获
  • 使用明确的判断来检测参数或结果的有效性 避免无谓的try catch
  • 对于异常错误,对外接口必须返回错误码,对内可以使用抛异常方式