Make Lists, Not War. - workflowy.com

最近在试用 Workflowy(我的推广注册链接,验证邮箱后两个人每月都可以增加 250 个节点,反感的话用引言那样没有尾巴的连接即可),深深觉得清单是个好东西,正在三分钟热度地把之前屯的东西整理知识点出来。

待得《对照审查点清单做代码审查可消除更多的bug》一文,抄了一遍之后觉得不够,对照自己平时的情况略作删改:

  1. 代码结构是否符合规范
  2. 代码命名是否符合规范
  3. 系统输入输出是否符合文档 // 需要接口文档
  4. 代码逻辑是否符合预期 // 需要流程图 && 项目经理认可
    • 是否正确处理事务
  5. 注释是否容易理解 // *注释是为了说明why而不是what***
  6. 代码是否容易理解
    • 实际操作是否被用于逻辑控制
    • 循环
      • 是否嵌套过深
      • 能否正确结束
      • 中途错误时应该 break 还是 continue,为什么
    • 分支是否采用 if...return 而不是 if..else...
    • 三元表达式一眼就可理解吗
    • 递归能让代码变得更好理解吗
  7. 是否存在风格不良代码
    • 重复的代码
    • 多余的代码
    • 注释的代码
    • 重复实现了类库提供功能
    • 日志和调试代码参与流程
  8. 安全
    • 输入是否经过校验
    • 数据传输是否正确编解码
      • 编码和解码次数是否一致(注意框架的行为)
      • 编码后传输是否存在特殊字符
    • 输出的数据是否存在需要掩藏的部分
    • 第三方工具的错误是否被正确处理了
    • 是否处理了边界值
    • 是否有未捕获异常的统一处理
    • 所有的异常都能被记录吗
  9. 文档
    • 是否存在接口文档
    • 是否存在数据字典
    • 未实现的方法到底是 NotImplemented 还是 NotSupported