SuperAPI AI 工具集

vulture-dead-code

编程与开发

查看项目

更新于 10-16 06:22

技能介绍

用途:该技能帮助检测 Python 代码库中的死代码,包括未使用的函数、类、变量、导入和属性,适合在清理代码库、移除死代码或在 CI 中强制代码卫生时使用。它涵盖两个工具:Vulture 与 deadcode。

主要能力:Vulture 采用静态分析加置信度评分(60-100%),成熟且速度快,支持白名单文件配置,适合大型代码库和渐进式清理。deadcode 基于 AST 检测,较新,准确度高、误报更少、速度极快,支持 TOML 配置,适合新项目和严格约束。两者均支持在 pyproject.toml 中配置路径、排除项、忽略名称与装饰器。

使用方式:安装命令为 uv add --dev vulture 与 uv add --dev deadcode,也可同时安装对比。Vulture 常用命令:vulture .、vulture --min-confidence 80 .、vulture . --make-whitelist > vulture_whitelist.py。deadcode 常用命令:deadcode .、deadcode --show-unreachable .、deadcode --init。CI 可执行 vulture --min-confidence 80 . vulture_whitelist.py,组合检查为 vulture --min-confidence 80 . && deadcode .。

适用场景:大型成熟代码库、需要基于置信度过滤、动态代码(getattr、exec)场景宜选用 Vulture;新项目、希望减少误报、偏好 TOML 配置、需要检测不可达代码时宜选用 deadcode。两者可混合使用以获得更全面检测。

限制:仅检测未使用代码,不负责类型检查(建议用 basedpyright)、仅查未使用导入(建议用 ruff --select F401)、格式化(建议用 ruff format)或通用 lint(建议用 ruff check)。更多详细示例与最佳实践见 REFERENCE.md。安装与配置细节以实际项目环境为准。