一键导入
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 提示逐条修复 |
| 代码重复 | 缺少抽象提取 | 提取公共函数或基类 |