vulture-查找和分析无效的Python代码的工具
Vulture在Python程序中查找未使用的代码。这对于清理和查找大型代码库中的错误很有用。如果您同时在库和测试套件上运行Vulture,则可以找到未经测试的代码。
由于Python的动态特性,像Vulture这样的静态代码分析器很可能会丢失一些无效代码。同样,仅隐式调用的代码可能会报告为未使用。但是,Vulture对于提高代码质量可能是非常有用的工具。
特征
快速:使用静态代码分析
已测试:自我测试并具有完整的测试范围
对pyflakes的补充,并具有相同的输出语法
使用大小对未使用的类和函数进行排序 --sort-by-size
支持Python> = 3.6
安装
通过pip安装,或者也可以在网盘中下载Vulture的源代码:
$ pip install vulture
用法
提供的参数可以是Python文件或目录。Vulture针对每个目录分析所有包含的 * .py文件。
Vulture为无用的代码的每个块分配一个置信度值。置信度值为100%表示将永远不会执行该代码。低于100%的值仅用于估计未使用代码的可能性。
找到并删除无效代码后,请再次运行Vulture,因为它可能会发现更多的无效代码。
它是如何工作的?
Vulture使用ast模块为所有给定文件构建抽象语法树。在遍历所有语法树时,它记录已定义和已使用对象的名称。之后,它将报告已定义但尚未使用的对象。此分析忽略范围,仅考虑对象名称。
Vulture还通过查找代码后检测不到的代码 return,break,continue和raise报表,并通过搜索不可满足的if和while条件。
例子
考虑以下Python脚本(dead_code.py):
调用:
$ vulture dead_code.py
输出以下结果:
dead_code.py:1: unused import 'os' (90% confidence)dead_code.py:4: unused function 'greet' (60% confidence)dead_code.py:8: unused variable 'message' (60% confidence)
赞 (0)