核查表 checkList

代码规范

注释

  1. 文档是否添加了注释,注释是否符合了规范,并进行了更新

  2. 所有函数是否添加了注释,注释是否符合了规范,并进行了更新

  3. 数据字典是否添加了注释,并且进行了描述

  4. 有无被注释的代码,是否可以删除,如果保留,请写明原因

    • 无效功能或者暂时屏蔽功能的代码

    • 调试代码:console.logdebugger

  5. 如果存在计算方式和公式,请在文档开头标明

变量

  1. 所有变量是否都提前声明

  2. 是否存在无效可以删除的变量(未使用)

  3. 变量命名是否符合开发规范

函数

  1. 是否尽可能的将功能拆解为函数。

  2. 是否存在重复的代码,考虑是否可以编写成函数或者抽离为公共函数。

  3. 函数是否确保都有返回值或者处理了异常。

  4. 是否存在可以被公共函数库可以替代的函数。

  5. 公共函数库是否有注释或者文档支持。如无,请添加文档或者注释。

  6. 是否对网络请求函数中请求超时、请求错误等情况进行处理,并且对用户进行了反馈。

  7. 函数是否只存在一个入口和出口

性能

  1. 对于全局监听事件,比如监听鼠标移动、鼠标点击事件,是否添加了节流操作

  2. 是否可以释放内存和优化资源,存在资源泄漏

  3. 是否存在可优化的循环或者事件,比如增加边界判断

  4. 是否存在可以使用懒加载的地方?

  5. 是否可以进行异步操作

兼容

  1. 是否存在兼容性相关代码?代码是否需要考虑兼容性?如何需要,请加上。

表单

  1. 是否对输入的内容进行了校验:类型、大小、长度、是否必填
  2. 长度校验时,是否去除了两端空格
  3. 是否对于输入内容两端空格进行了处理
  4. 进行必填和类型校验时,是否对0、0.00.00等0值进行了特殊处理

    • 进行类型校验时,基于if(Number(0.00))会返回false的情况,对0要进行特殊处理
  5. 判断范围时,比如大小时,是否考虑了边界情况

    • 比如0-10,那么考虑是否0和10在校验范围内
  6. 如果要对输入内容进行格式转换,格式转换是否正确
  7. 提交表单时,是否对用户进行了一个正向的反馈。比如,表单提交时,提示用户提交中。

计算

  • 是否存在计算方法,计算方法与业务逻辑是否一致

  • 涉及到保留小数,是否和后端或者规定的小数一致,保留的方法是否一致(四舍五入还是截取)

  • 涉及到精度计算时,考虑由于js本身所造成的的计算偏差并纠正。

其他

  1. switch函数是否添加了default分支

  2. 是否存在死循环的情况,如何处理

  3. 是否尽可能的将jscss代码从渲染模板中拆分开来

  4. 循环是否设置了正确的长度和终止条件

设计

  1. 用户权限与对应权利
  2. 对删除等重大操作进行确认提示
  3. 有表格时,是否对无表格信息的情况进行处理,提示:“暂无信息xx信息!”,并在视觉上居中对齐。

文档注释方法

/**
 * Title: 文档标题
 * Author: 作者
 * Date: 2019/01/01
 * Description: 文档描述
 * LastModifiedDate:2019/01/01
 * LastModifiedDescription: 我修改了内容
 */

函数注释方法

/**
 * 计算两个数之和
 * @param {number} a 参数1 
 * @param {number} b 参数2
 * @return {number} a与b之和 
 * @note 备注
 * @usage 使用示例
 */

数据字典注释方法

/**
 * 黄金对应表
 * @props {string} type 黄金类型
 * @props {number} val 黄金对应
 */

TODO和REVIEW标明方法

// TODO(author): 这里仍然需要添加一个功能
// REVIEW(author): 这里存在一个问题,请修正