我已经看到了如何在 Python 代码中找到未使用的函数?但这真的很老了,并没有真正回答我的问题。
我有一个大型 python 项目,其中包含多个由多个入口点脚本共享的库。这个项目已经积累了很多年,有很多作者,所以有很多死代码。你知道该怎么做。
我知道找到所有死代码是无法确定的。我所需要的只是一个工具,它可以找到所有未在任何地方调用的函数。我们并没有对基于函数名称字符串的调用函数做任何花哨的事情,所以我不担心任何病态......
我刚刚安装了pylint,但它似乎是基于文件的,并不太关注文件间依赖关系,甚至函数依赖关系。
显然,我可以在所有文件中 grep for def,从中获取所有函数名,然后对每个函数名执行 grep。我只是希望已经有比这更聪明的东西了。
ETA:请注意,我不期望或想要完美的东西。我和任何人一样都知道我的停止问题证明(没有我真的教过计算理论,我知道当我在看一些递归可枚举的东西时)。任何试图通过实际运行代码来近似它的事情都将花费太长时间。我只想在语法上通过代码说“这个函数肯定被使用了。这个函数可能会被使用,这个函数肯定不会被使用,甚至没有其他人知道它的存在!” 前两个类别并不重要。