关于 ai-generated-business-code-review
ai-generated-business-code-review 是用于审查 AI 生成的业务与应用代码的技能,面向需要评估代码质量和风险的开发者。它按正确性、健壮性、可维护性、性能和安全性评分,并提供风险等级及带证据的必改清单。
主要功能
- 01评估五个代码质量维度
- 02给出 0–10 分和风险等级
- 03列出带具体证据的必改项
- 04检查边界、异常与资源管理
- 05C++ 审查遵循指定规范
适用场景
- 01评估 AI 生成的业务代码
- 02定位应用代码中的安全与健壮性问题
- 03检查 C++ 代码是否符合 OpenHarmony 要求
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openharmonyinsight/ openharmony-skills --skill ai-generated-business-code-review安装后在 Claude Code 中输入/ai-generated-business-code-review确认已加载。
详细介绍
AI 业务代码审查
概述
审查 AI 生成的业务/应用代码是否正确、健壮、易于维护、性能良好且安全。输出 0-10 分、风险级别和必须修复清单。对于 C++ 代码,必须:将 openharmony-cpp 和 openharmony-security-review 作为强制约束。
使用场景
- 审查或评估 AI 生成的业务/应用代码
- 需要评分、风险级别或必须修复清单
- C++ 业务代码必须满足 OpenHarmony 编码/安全要求
工作流
- 确定语言和代码类型(业务代码或测试代码)。如果是测试代码,请改用
ai-generated-ut-code-review。 - 对于 C++:加载并应用
openharmony-cpp+openharmony-security-review作为强制约束。 - 检查代码行为是否符合需求,以及边界情况、错误处理、资源管理和安全性。
- 按评分标准打分,指定风险级别,并列出必须修复项,提供具体依据(文件/行号或代码片段)。
评分(0-10)
每个维度 0-2 分。总分为各项之和。
| 维度 | 0 | 1 | 2 |
|---|---|---|---|
| 正确性 | 关键行为错误或缺失 | 部分符合/依赖假设 | 满足需求 |
| 健壮性 | 崩溃/泄漏/错误未检查 | 处理了部分边界情况 | 边界和错误处理完善 |
| 可维护性 | 难以阅读/修改 | 质量参差不齐 | 结构和命名清晰 |
| 性能 | 热路径效率低 | 可以接受,但仍可改进 | 满足预期负载的高效表现 |
| 安全性 | 存在明显漏洞 | 校验不足/不安全 | 默认安全,且经过校验 |
风险级别
- Blocker:安全漏洞、严重逻辑错误,或违反 C++ 强制规范
- High:缺少关键路径、异常处理不完整、存在明显资源泄漏
- Medium:存在显著的维护性或性能风险
- Low:轻微问题或风格不一致
必须修复清单
- 对外部输入进行明确校验,并提供错误反馈
- 关键异常路径可触达且可观测(日志/错误码/异常)
- 确保释放资源或使用 RAII(C++)
- C++ 场景满足
openharmony-cpp与openharmony-security-review的要求
AI 生成代码的常见问题(明确检查)
- 误解需求、隐含前提错误
- 只覆盖正常路径,忽略异常/边界情况
- 吞掉异常或使用不合理的默认值
- 复制粘贴导致重复和不一致
- 过度复杂化或抽象不当
输出格式(必需,半固定)
Score:x/10 — 正确性 x,健壮性 x,可维护性 x,性能 x,安全性 xRisk:Low/Medium/High/Blocker — 简述风险原因(1 行)Must-fix:- [动作 + 依据]
- [动作 + 依据]
Key Evidence:- 引用具体函数/类/路径(1-2 条)
Notes:- 最小修复建议或替代方案(1-2 行)
规则:
- C++ 必须在
Key Evidence或Must-fix中明确指出违反openharmony-cpp/openharmony-security-review的具体问题 - 至少提供 2 条依据;依据不足时需说明并降分
- 禁止只给总体评价
常见错误
- 只给总体评价,不提供依据
- 忽略 C++ 强制规范
- 将风格问题视为阻断风险
示例(简洁)
Score: 6/10(正确性 1,健壮性 1,可维护性 1,性能 1,安全性 2) Risk: High Must-fix:
createUser()中缺少输入校验(空值/空字符串、长度、格式)- 错误路径吞掉异常且不记录日志 Key Evidence:
createUser()接受原始输入而未进行检查persistUser()中的catch块为空 Notes:- 添加明确的校验并返回结构化错误。
评论
支持 Markdown