核查表 checkList
代码规范
注释
- 文档是否添加了注释,注释是否符合了规范,并进行了更新
- 所有函数是否添加了注释,注释是否符合了规范,并进行了更新
- 数据字典是否添加了注释,对其进行了描述
- 有无被注释的代码,是否可以删除,如果保留,请写明原因
- 无效功能或者暂时屏蔽功能的代码
- 调试代码:
console.log
和debugger
- 如果存在计算方式和公式,请在文档开头标明
变量
- 所有变量是否都提前声明
- 是否存在无效可以删除的变量(未使用)
- 变量命名是否符合开发规范
函数
- 是否尽可能的将功能拆解为函数。
- 是否存在重复的代码,考虑是否可以编写成函数或者抽离为公共函数。
- 函数是否确保都有返回值或者处理了异常。
- 是否存在可以被公共函数库可以替代的函数。
- 公共函数库是否有注释或者文档支持。如无,请添加文档或者注释。
- 是否对网络请求函数中请求超时、请求错误等情况进行处理,并且对用户进行了反馈。
- 函数是否只存在一个入口和出口
性能
- 对于全局监听事件,比如监听鼠标移动、鼠标点击事件,是否添加了节流操作
- 是否可以释放内存和优化资源,存在资源泄漏
- 是否存在可优化的循环或者事件,比如增加边界判断
- 是否存在可以使用懒加载的地方?
- 是否可以进行异步操作
兼容
- 是否存在兼容性相关代码?代码是否需要考虑兼容性?如何需要,请加上。
表单
- 是否对输入的内容进行了校验:类型、大小、长度、是否必填
- 是否对于输入内容两端空格进行了处理
- 进行必填和类型校验时,是否对 0、0.0、0.00 等 0 值进行了特殊处理
- 进行类型校验时,基于
if(Number(0.00))
会返回 false 的情况,对 0 要进行特殊处理
- 判断范围时,比如大小时,是否考虑了边界情况
- 比如 0-10,那么考虑是否 0 和 10 在校验范围内
- 如果要对输入内容进行格式转换,格式转换是否正确
- 提交表单时,是否对用户进行了一个正向的反馈。比如,表单提交时,提示用户提交中。
- 对用户向后台发起请求操作进行限制处理:即发起请求后如果请求正在进行,则禁止重复请求(不允许短时间内发起多次请求,比如 1 秒内)
- 如果存在表单,那么新增后重置到第一页,编辑后保留在原页。
计算
- 是否存在计算方法,计算方法与业务逻辑是否一致
- 涉及到保留小数,是否和后端或者规定的小数一致,保留的方法是否一致(四舍五入还是截取)
- 涉及到精度计算时,考虑由于
js
本身所造成的的计算偏差并纠正。
其他
- switch 函数是否添加了 default 分支
- 是否存在死循环的情况,如何处理
- 是否尽可能的将
js
和css
代码从渲染模板中拆分开来 - 循环是否设置了正确的长度和终止条件
- 搜索下将表格重置为第一页
设计
- 用户权限与对应权利
- 对删除等重大操作进行确认提示
附
文档注释方法
函数注释方法
数据字典注释方法
TODO 和 REVIEW 标明方法