常见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. 引用错误、细节错误

相关推荐

  1. 精读《如何做好 CodeReview

    2024-02-05 01:44:01       16 阅读
  2. Git篇常见问题

    2024-02-05 01:44:01       35 阅读
  3. pandas常见问题汇总

    2024-02-05 01:44:01       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-05 01:44:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-05 01:44:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-05 01:44:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-05 01:44:01       18 阅读

热门阅读

  1. MySQL中SQL查询语句优化

    2024-02-05 01:44:01       35 阅读
  2. 开源协议介绍

    2024-02-05 01:44:01       36 阅读
  3. 【华为机试】2023年真题C卷(python)-字符串拼接

    2024-02-05 01:44:01       38 阅读
  4. Docker 大纲

    2024-02-05 01:44:01       29 阅读
  5. 【递归】 92. 反转链表 II

    2024-02-05 01:44:01       33 阅读
  6. h.264与h.263的区别

    2024-02-05 01:44:01       32 阅读
  7. C# 更改系统的屏保设置

    2024-02-05 01:44:01       32 阅读