如果你的项目中有一些遗留代码,那么如何查找并删除不再使用的函数呢?
我看到了这两个参考链接:查找未使用的代码和在 PHP 项目中查找未使用的函数的工具,但它们分别针对 C# 和 PHP。
是否有一个 Python 工具可以帮助你查找源代码中没有被引用的函数(不考虑反射等)?
如果你的项目中有一些遗留代码,那么如何查找并删除不再使用的函数呢?
我看到了这两个参考链接:查找未使用的代码和在 PHP 项目中查找未使用的函数的工具,但它们分别针对 C# 和 PHP。
是否有一个 Python 工具可以帮助你查找源代码中没有被引用的函数(不考虑反射等)?
coverage
和figleaf
。它们的缺点是您必须运行代码的所有可能分支才能找到未使用的部分,但它们的优点是您会得到非常可靠的结果。pyflakes
和vulture
。Pyflakes可以找到未使用的导入和未使用的本地变量。Vulture可以找到各种未使用和无法访问的代码。(完全披露:我是Vulture的维护人员。)除非你知道你的代码使用了反射,就像你所说的那样,否则我会选择一个简单的grep。不要低估vim中星号的威力(在文件中搜索你光标下的单词),尽管这仅限于你当前正在编辑的文件。
另一种解决方案是拥有非常好的测试套件(不幸的是很少发生),然后用废弃例程包装例程。如果你得到了废弃输出,这意味着该例程已被调用,因此它仍然在某个地方被使用。这也适用于反射行为,但当然,如果你不触发例程调用的情况,你永远无法确定。
这不仅仅是搜索函数名称,还包括所有未使用的导入包。 您需要搜索代码中所有已导入的包(包括别名)和使用的函数,然后创建每个包的特定导入列表(例如,将import os替换为from os import listdir、getcwd等)。
vulture
,我非常喜欢它!Rust默认内置了未使用代码警告,这是我在Python中一直想念的。我特别喜欢vulture
显示的置信度!像你这样的开发者让世界变得更美好 :-)。 - Sylvester Kruinvulture
,然后再运行coverage
。 - ishandutta2007