Bri*_*unt 51 python refactoring dead-code
所以你在一个相当沉重的项目中有一些遗留代码.如何查找和删除死函数?
我已经看到了这两个引用:查找未使用的代码和工具来查找php项目中未使用的函数,但它们似乎分别特定于C#和PHP.
是否有一个Python工具可以帮助您找到源代码中其他地方未引用的函数(尽管有反射/等)?
小智 56
在python中,您可以使用动态或静态代码分析器找到未使用的代码.动态分析仪的两个例子是coverage和figleaf.它们的缺点是您必须运行代码的所有可能分支才能找到未使用的部分,但它们的优势还在于您可以获得非常可靠的结果.
或者,您可以使用仅查看代码但不实际运行代码的静态代码分析器.它们的运行速度要快得多,但由于python的动态特性,结果并不是100%准确,因此您可能需要仔细检查它们.想到的两个工具是pyflakes和vulture.它们是互补的:Pyflakes找到未使用的导入和未使用的局部变量,而vulture找到未使用的函数,方法,类,变量和属性.
这些工具可从Python Package Index http://pypi.python.org/pypi获得.
另一种选择是死代码Python 包。它检测全局定义但未使用的变量、函数和类名称。该工具用作静态代码检查器:它首先解析所有全局定义的名称,然后计算它们在整个代码库中被引用的次数。
您可以安装它:
pip install deadcode
Run Code Online (Sandbox Code Playgroud)
并运行它
deadcode .
Run Code Online (Sandbox Code Playgroud)
我已经实现了这个工具,因为其他工具没有为我完成这项工作。使用死代码作为 CI/CD 管道的一部分应该很方便。我希望它有帮助。