2.8 KiB
团队代码审查规范
本文档定义了团队代码审查中需要遵循的自定义规则,涵盖安全、命名、性能、代码风格和团队约定五个维度。
一、安全类规则
1.1 禁止硬编码凭证
严重级别:error 适用语言:JavaScript、TypeScript、Java
禁止在源码中硬编码密码、令牌、API Key 等敏感凭证。检测到疑似硬编码凭证时,请使用环境变量或密钥管理服务注入。
1.2 禁止使用 eval()
严重级别:error 适用语言:JavaScript、TypeScript
禁止使用 eval() 函数,存在代码注入风险。eval() 存在安全风险,请使用 JSON.parse() 或 Function 构造器替代。
1.3 禁止直接赋值 innerHTML
严重级别:warning
禁止直接赋值 innerHTML,可能导致 XSS。避免直接操作 innerHTML,请使用 textContent 或 DOMPurify 清洗。
二、命名规范类规则
2.1 常量使用全大写命名
严重级别:warning 适用语言:JavaScript、TypeScript、Java
常量命名必须使用全大写加下划线(SCREAMING_SNAKE_CASE),如 MAX_RETRY_COUNT。
2.2 布尔变量添加前缀
严重级别:info 适用语言:JavaScript、TypeScript
布尔变量和方法名应以 is/has/can/should 开头,以提升可读性。
三、性能类规则
3.1 禁止三层以上嵌套循环
严重级别:warning 适用语言:JavaScript、TypeScript、Java
禁止三层及以上嵌套循环,时间复杂度过高。检测到深层嵌套循环(≥3层)时,建议重构为扁平结构或使用查找表优化。
3.2 异步函数内禁止同步 API
严重级别:warning 适用语言:JavaScript、TypeScript
异步函数内禁止调用同步阻塞 API。在 async 函数中调用同步 API 会阻塞事件循环,请改用异步版本。
四、代码风格类规则
4.1 函数显式类型注解
严重级别:info 适用语言:TypeScript
函数参数和返回值应显式标注 TypeScript 类型,提升类型安全性。
4.2 禁止魔法数字
严重级别:info 适用语言:JavaScript、TypeScript
禁止在代码中直接使用魔法数字,应提取为命名常量以提升可维护性。
五、团队约定类规则
5.1 throw 语句携带上下文
严重级别:warning 适用语言:JavaScript、TypeScript、Java
throw 语句必须携带错误上下文信息,便于问题定位。
5.2 禁止遗留 TODO 注释
严重级别:info 排除语言:SQL
生产代码中不应遗留 TODO/FIXME/HACK 注释,请在发布前处理。
5.3 公共函数文档注释
严重级别:info 适用语言:JavaScript、TypeScript、Java
公共函数应添加文档注释(JSDoc / Javadoc),说明用途、参数和返回值。