بنقرة واحدة
code-audit
代码质量审计,使用 lizard/ruff 对 Python 项目进行复杂度分析、代码规范检查和重构建议。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
代码质量审计,使用 lizard/ruff 对 Python 项目进行复杂度分析、代码规范检查和重构建议。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Code 阶段 DevOps 基础设施管理。项目脚手架初始化、编码规范工具链配置、pre-commit 设置、CI lint 门禁规则。
发布 Git 仓库 Release。使用 qtcloud-devops CLI,必须先写 CHANGELOG 再发布,禁止跳步。支持子模块和主仓库两种流程。
审查仓库状态、CHANGELOG、版本一致性等,支持发布前检查、代码审查、文档审查等多场景。
数据需求文档(DRD)编写技能。用户需要编写或评审 DRD 时使用,指导定义数据 schema、字段规范、枚举约束和数据关系,作为数据契约独立于实现。
三层测试体系:单元测试、服务测试、端到端测试
QTData product provider service built with FastAPI and uv
| name | code-audit |
| description | 代码质量审计,使用 lizard/ruff 对 Python 项目进行复杂度分析、代码规范检查和重构建议。 |
⚠ 硬约束:先审计 → 再修复 → 最后提交 加载此 Skill 后,必须按下方工作流从头到尾逐行执行命令。 标有"必须执行,不可跳过"的步骤是强制性的,AI 不得合并、跳过或提前执行后续步骤。
# 圈复杂度分析
lizard --languages python <source_dir> # 默认阈值:CCN > 15 警告
lizard --languages python --CCN 10 <source_dir> # 自定义阈值(严格模式)
lizard --languages python --l 100 <source_dir> # 同时检查函数长度超过 100 行
lizard --languages python --csv <source_dir> # CSV 格式输出(用于报告)
# 代码规范检查
ruff check <source_dir> # 运行所有规则
ruff check --select ALL <source_dir> # 启用所有规则
ruff check --statistics <source_dir> # 按规则统计错误数
ruff check --fix <source_dir> # 自动修复
ruff format --check <source_dir> # 检查格式
ruff format <source_dir> # 自动格式化
# 死代码检测
vulture <source_dir> # 未使用的函数/变量/导入/类
vulture <source_dir> --min-confidence 100 # 只报告确定无用的代码
# 依赖检测
deptry <source_dir> # pyproject.toml 中未使用的依赖
| 指标 | 健康区间 | 警告区间 | 危险区间 |
|---|---|---|---|
| 平均 CCN | 1-5 | 6-10 | >10 |
| 单函数 CCN | 1-10 | 11-15 | >15 |
| 函数长度 | 1-30 行 | 31-60 行 | >60 行 |
| 参数数量 | 1-3 | 4-5 | >5 |
| ruff 错误数 | 0 | 1-10 | >10 |
综合判定:只要任一指标进入危险区间(如单函数 CCN > 15 或 ruff 错误 > 10), 总体评估即判为需改进。
确保工具可用:
which lizard && lizard --version
which ruff && ruff --version
which vulture && vulture --version
which deptry && deptry --version
必须执行,不可跳过
ruff check --statistics <source_dir>
ruff check <source_dir>
区分:
必须执行,不可跳过
lizard --languages python <source_dir>
记录输出中的:
必须执行,不可跳过
vulture <source_dir>
记录所有未使用的函数、变量、导入和类,标注置信度。
必须执行,不可跳过
deptry <source_dir>
记录 pyproject.toml 中声明了但代码中没有使用的依赖。
ruff format --check <source_dir>
若有格式问题,记录差异点。
按以下模板输出审计报告:
## 审计报告:<项目名>
### 1. 代码规范
- ruff 总错误数: N
- 错误分类: E/F/W/C 分布
- 关键问题: ...
### 2. 圈复杂度
- 总函数数: N
- 平均 CCN: X.X(健康/警告/危险)
- 最高 CCN 函数: <函数名> (CCN: X) @ <文件:行号>
### 3. 高风险函数
| 函数 | CCN | 行数 | 位置 | 建议 |
|------|-----|------|------|------|
| ... | ... | ... | ... | ... |
### 4. 总体评估
- 代码质量: 良好/一般/需改进
- 优先处理: <前 3 项建议>
在开始修复之前,先向用户展示第 4 步的审计报告,并逐项确认哪些问题需要修。 有些高 CCN 函数可能是业务逻辑复杂但合理,不需要强制重构。用户确认后按优先级执行:
ruff format <source_dir> 自动修正每修复一个函数后重新运行 lizard 确认 CCN 下降。终止条件:全部函数的 CCN ≤ 15 即停止修复循环,不需要强求降到健康区间。
修复完成后重新执行完整审计确认无退化:
lizard --languages python <source_dir>
ruff check <source_dir>
ruff format --check <source_dir>
vulture <source_dir>
deptry <source_dir>
| 问题 | 原因 | 解决方案 |
|---|---|---|
| CCN 偏高 | 函数内条件分支过多 | 提取子函数、用字典映射替代 if-else 链、策略模式 |
| 函数过长 | 单函数承担过多职责 | 按单一职责拆分为多个小函数 |
| 参数过多 | 函数依赖过多外部数据 | 封装为数据类或配置对象 |
| ruff E 类错误 | 语法或逻辑隐患 | 按 lint 提示逐条修复 |
| 代码重复 | 缺少抽象提取 | 提取公共函数或基类 |