代码审查与质量改进 | LanMate 使用手册

代码审查与质量改进

代码审查不是走个流程——要发现隐患、给出可操作的审查意见、跟踪到修复完成。这个案例展示如何用 LanMate 把代码审查从“看一眼说没问题”变成结构化闭环,让问题不遗漏、修复可追溯。

用到的技能

场景痛点

推荐流程

步骤 LanMate 做什么 你要确认什么
1 读取代码变更,生成结构化审查请求(变更摘要 + 自测清单) 变更范围和自测覆盖是否完整
2 接收他人代码变更,分析变更范围并逐文件生成审查意见 审查意见是否可操作
3 扫描代码质量(复杂度、重复代码、命名规范),输出质量报告 质量问题优先级是否合理
4 扫描安全风险(硬编码密钥、SQL 注入、XSS),按严重度输出 安全风险是否需要立即修复
5 汇总生成审查报告(问题列表 + 严重程度 + 修复建议 + 责任人) 责任人和修复期限是否明确

提示词示例

提交审查前自查

我准备提交一个代码变更,请帮我生成结构化审查请求:
- 变更摘要:本次改了什么、为什么改(1-2 句话)
- 变更范围:涉及的文件列表和每个文件的改动类型(新增 / 修改 / 删除)
- 自测清单:我应该自测哪些场景
- 风险提示:哪些改动可能影响现有功能
- 回滚方案:如果出问题怎么回滚

读取 src/ 目录下的代码文件,根据最近的改动生成。
自测清单要具体到测试场景,不要写"全面测试"这种泛化表述。

接收他人代码变更进行审查

请审查 src/ 目录下的代码变更,逐文件生成审查意见:
1. 先分析变更范围:哪些文件改了、每个文件改了什么
2. 逐文件审查,每条意见包含:
   - 文件名和行号
   - 问题描述
   - 严重程度(阻断 / 重要 / 建议)
   - 修改建议(具体到怎么改)
3. 汇总变更中的亮点(值得学习的写法)

重点检查:
- 逻辑错误和边界条件(空值、越界、异常未处理)
- 是否引入不必要的复杂度
- 是否有硬编码值应该提取为配置

代码质量评估

请扫描 src/ 目录下的代码,生成质量审查报告:
1. 函数复杂度:标出圈复杂度过高的函数(建议阈值 15 以上标记)
2. 重复代码:标出重复出现的代码块
3. 命名规范:检查函数名、变量名是否表意清晰、是否符合约定
4. 代码异味:过长的函数、过深的嵌套、过大的类

每个问题输出:
- 文件名和位置
- 问题类型
- 严重程度(高 / 中 / 低)
- 重构建议

不要报告纯格式问题(如缩进、空格),聚焦影响可维护性的实质问题。

安全扫描

请扫描 src/ 目录下的代码,检测安全风险:
1. 硬编码密钥:检查是否有 API 密钥、密码、Token 写死在代码中
2. SQL 注入:检查是否有拼接 SQL 语句的写法
3. XSS:检查是否有未转义的用户输入直接输出到页面
4. 敏感信息泄露:检查日志中是否打印了敏感数据

每个风险输出:
- 文件名和行号
- 风险类型
- 严重程度(严重 / 高 / 中 / 低)
- 修复建议

无法确认是否为风险的位置标注"需人工确认",不要自行判定。

生成审查报告

请汇总以上审查结果,生成一份代码审查报告:
- 问题列表(含文件、行号、问题描述、严重程度)
- 按严重程度分组统计(阻断 / 重要 / 建议)
- 每个问题的修复建议
- 责任人和建议修复期限
- 审查结论(通过 / 需修改后通过 / 不通过)

阻断级问题必须在报告中置顶,并说明不修复的后果。
输出 HTML 报告。

验收标准

常见错误

常见错误 为什么会发生 更好的做法
审查意见只说“建议优化” 缺乏具体标准和操作指引 每条意见给出具体问题和修改方法
审查请求只丢链接 提交者未提供变更上下文 生成结构化请求,含摘要、范围和自测清单
质量问题反复提反复不改 只报告不跟踪修复 审查报告含责任人和修复期限,跟踪闭环
安全扫描遗漏已知风险 只做了人工审查 用安全扫描器覆盖硬编码、注入、XSS 等常见风险
审查意见混入个人偏好 格式偏好和实质问题混在一起 区分阻断级问题和风格建议,聚焦影响可维护性的实质问题