dead简单的Python死代码检测
项目描述
dead
dead简单的Python死代码检测
安装
pip install dead
命令行界面
请查阅帮助了解最新用法
$ dead --help
usage: dead [-h] [--files FILES] [--exclude EXCLUDE] [--tests TESTS]
optional arguments:
-h, --help show this help message and exit
--files FILES regex for file inclusion, default: ''
--exclude EXCLUDE regex for file exclusion, default '^$'
--tests TESTS regex to mark files as tests, default
'(^|/)(tests?|testing)/'
在git仓库的根目录下运行dead
实用程序。
作为pre-commit钩子
有关说明,请参阅pre-commit
示例.pre-commit-config.yaml
- repo: https://github.com/asottile/dead
rev: v1.5.2
hooks:
- id: dead
工作原理
- 使用
git ls-files
和筛选找到仓库中的所有文件- 仅包括与
--files
正则表达式匹配的文件 - 排除与
--exclude
正则表达式匹配的文件 - 仅包括由
identify
识别为python
的文件 - 通过
--tests
正则表达式对测试文件进行分类
- 仅包括与
- 解析每个文件的AST
- 搜索定义和引用
- 报告没有引用的事物
误报
我在这架飞机上花了大约15分钟写了这个,它远非完美,但通常能找到一些东西。以下是一些它不擅长的地方
- 实现接口的函数通常被标记为未使用
- 元类魔法通常被标记为未使用(枚举,模型类等)
抑制dead
# dead: disable
注释将告诉dead
忽略任何报告有死代码的行。
这个项目已经死了吗?
也许吧。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
dead-1.5.2.tar.gz (6.3 kB 查看哈希值)
构建分发
dead-1.5.2-py2.py3-none-any.whl (6.6 kB 查看哈希值)