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 查看哈希值)