# 团队代码审查规范 > 本文档定义了团队代码审查中需要遵循的自定义规则,涵盖安全、命名、性能、代码风格和团队约定五个维度。 ## 一、安全类规则 ### 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),说明用途、参数和返回值。