编码规范

Controller规范

  • 设置统一的Result对象

返回值有String、Map<String, Object> 、JSONObject等,返回值不统一,真是惨不忍睹。

https://blog.csdn.net/qq_41633199/article/details/105351898
  • controller不需要打印日志,建议日志在service层打印

  • Result只给controller用,不传递给service或impl

代码可读性下降

  • controller传递给service的数据类型尽量是bean或者String

不要直接传递request。参数格式转换在controller里做

// 将字符串类型转化为对象
model appExtendInfo = JSON.parseObject(extend, model.class);

日志打印

  • 修改(包括新增)操作必须打印日志

  • 主要方法的入口,添加日志

  • 条件分支必须打印条件值,重要参数必须打印,比如:Type、Status

  • 数据量大的时候需要打印数据量

工具类编写规范

正则表达式验证工具类RegexUtils.java
https://www.cnblogs.com/lr393993507/p/5234857.html

Google Guava 优雅的参数验证(Preconditions)
https://blog.csdn.net/csdnlijingran/article/details/97684429
  • 定义自己的工具类,尽量不要在业务代码里面直接调用第三方的工具类

可以对第三方的工具类进行在封装,不同的人会使用不同的第三方工具库,会比较乱。

  • 工具类尽量抽象出来,支持多种参数类型

  • 使用重载编写不同参数类型的函数组,支持多种参数类型

  • 工具类单独存放于common/util里文件夹中,区分其他文件夹

函数编写规范

  • 不要出现和业务无关的参数

request,Response,非常干扰阅读,一堆无关的参数把业务代码都遮掩住了,函数不好测试

  • 避免使用Map,Json这些复杂对象作为参数和结果

定义实体类,少用map或json。

  • 把可能变化的地方封装成函数,函数尽可能小

方法中可能变化的地方,抽出一个函数,加上注解。即减少一个方法中的行数,又便于修改。

posted @ 2022-03-28 14:57  可归  阅读(34)  评论(0编辑  收藏  举报