常见code review问题

  1. 空值:值为null导致空指针异常,参数字符串含有前导或后缀空格没有Trim导致查询为空,建议添加空值检测,在参数入口统一做trim
  2. 未捕获的异常:调用API接口、库函数或系统服务时,一定要添加防护,做防御式编程,要么在当前方法捕获异常并返回合适的空值或空对象,要么抛给高层处理
  3. 低性能:
    1. 循环或逐个调用单个接口获取数据或访问数据库:建议提供批量接口或批量处理并发获取数据
    2. 重复创建几乎完全相同的对象:将可复用对象抽离出循环,一次创建多次使用
    3. 数据库访问、网络调用等服务未处理超时的情况:设置合理的超时时间并捕获超时异常处理
    4. 多重循环对于大数据量处理的算法性能低:使用预排序或预处理,构造合适的数据结构
    5. 大量字符串拼接是使用了String而非StringBuilder:少量字符串拼接用String,大量用StringBuilder
  4. 影响范围过大:对多个模块依赖的公共函数的修改,建议抽离出新的函数,抽离原函数的可复用部分,然后基于可复用部分构建新的函数
  5. 单测问题
  6. 与原有逻辑不兼容
  7. 缺乏必要日志:对于重要而关键的实例状态,代码路径及API调用,适当添加INFO日志,对于异常,应添加捕获和ERRO日志
  8. 错误代码不符合规范
  9. 参数检测缺乏或者不足:建议集中管理,对应用中的所有参数进行统一集中化检测
  10. 引用错误、细节错误

你可能感兴趣的:(代码复审)