code review - pod4g/tool GitHub Wiki
CR问题分类
代码CR过程中,发现的问题,可以分为3级:P1
、P2
、P3
,分别对应严重
、普通
、轻微
P1级问题
- 导致页面卡顿
- 导致页面卡死
- 导致App崩溃
- 白屏
- 数值计算错误
- 逻辑错误
- 未防御(判空)
P2级问题
- 影响页面加载速度的程序实现
- 可以用更短更优雅的算法实现,就不要用臃肿的代码
- 数据管理不合理,造成维护困难
- 数据的增删改查变形等操作,要遵循单一职责
- 影响页面性能
- 在for循环中进行操作,而这个操作其实是可以提取到循环外的
- JS功能划分不合理,增加开发工作量
- 一个文件或者方法过大,没有拆分
- 一些类似代码,在多个地方使用,没有提成一个方法
- CSS编写混乱
P3级问题
- 不符合业界通用代码规范
- 缺少注释
- 关键逻辑点,需要注释说明
- 可能造成困扰或歧义的地方,需要注释说明
- 每个字段,需要注释说明其含义
- magic number 或者 其它写死的字面量,需要注释说明为什么要这么写
- 变量名起的无意义或者有歧义
- let a, b, c, _haha
如何界定?
在CR中,我们发现了有问题的代码以后,除了严重问题(P1级)以外,另外两级,其实我们是可以具体问题具体分析的
例如下面的代码:
let obj = {name: '云崇', age: 28}
for (let prop in obj) {
console.log(`${prop}:${obj[prop]}`)
}
这段代码的问题出在什么地方呢?