当前位置: 首页 > 面试题库 >

如何在Python代码中找到未使用的函数?

麹高远
2023-03-14
问题内容

因此,在相当庞大的项目中,您会得到一些遗留代码。您如何找到和删除无效功能?

我已经看到了这两个参考:查找未使用的代码和用于在php项目中查找未使用的函数的工具,但它们似乎分别特定于C#和PHP。

是否有Python工具可帮助您找到源代码中其他地方未引用的函数(尽管有反射/等)?


问题答案:

在Python中,您可以使用动态或静态代码分析器查找未使用的代码。动态分析器的两个示例是coveragefigleaf。它们的缺点是您必须运行代码的所有可能分支才能找到未使用的部分,但是它们也具有获得非常可靠的结果的优点。

另外,您可以使用静态代码分析器来查看您的代码,但实际上不运行它。它们的运行速度要快得多,但是由于Python的动态特性,结果可能包含误报。此类别中的两个工具是pyflakesvulture。Pyflakes查找未使用的导入和未使用的局部变量。Vulture查找各种未使用和无法访问的代码。(完全公开:我是秃鹰的维护者。)

这些工具可在Python软件包索引https://pypi.org/中获得。



 类似资料:
  • 问题内容: 如何在PHP项目中找到任何未使用的函数? PHP中是否有功能或API可以让我分析代码库,例如Reflection,? 这些API的功能是否足够丰富,以至于我不必依靠第三方工具来执行此类分析? 问题答案: 感谢Greg和Dave的反馈。并不是我想要的,但是我决定花一些时间研究它,并提出了一个快速而肮脏的解决方案: 我可能会花更多时间,以便可以快速找到函数定义和引用的文件和行号。该信息正在

  • 问题内容: 你使用什么工具在大型Java项目中查找未使用/无效的代码?我们的产品已经开发了几年,并且很难手动检测不再使用的代码。但是,我们确实尝试删除尽可能多的未使用的代码。 对于一般策略/技术(除特定工具之外)的建议也将受到赞赏。 编辑:请注意,我们已经使用了代码覆盖率工具(Clover,IntelliJ),但是这些帮助不大。无效代码仍具有单元测试,并显示为已覆盖。我猜一个理想的工具可以识别出几

  • 问题内容: 在32位Linux内核上编译内核模块会导致 在64位系统上,一切都很好。据我所知,其原因是32位Linux内核不支持64位整数除法和取模。 我如何找到发出64位操作的代码。很难手动找到它们,因为我无法轻松地检查“ /”是32位还是64位。如果未定义“普通”函数,则可以对它们进行grep,但这在这里是不可能的。还有另一种搜索参考文献的好方法吗?某种“机器代码grep”? 该模块包含数千行

  • 问题内容: 当我在.java文件中时,未使用的代码通常显示为灰色或带有绿色下划线,表示该代码可能(可能由于某些奇怪的JNI / Reflection极端情况)未使用。但是我有一个包含成千上万个Java文件的项目,我想找到所有此类可能未使用的代码的实例。如何在IntelliJ IDEA中做到这一点? 问题答案: 只需在启用适当检查的情况下 使用即可 ( “声明冗余” 组下的 “ 未使用的声明 ” )

  • 问题内容: 我想知道如何轻松单击(或使用一些简单的快捷方式)函数名称并找到其所有被调用者或打开已定义的位置。Web中的大多数Web手册确实很难遵循或无法制定。说我想单击并查看它的定义位置? 问题答案: 为此,Vim与 cscope 工具集成在一起。请参阅参考资料。

  • 我正在使用用于Python的VSCode以及VSCode中启用的适用于Python的微软扩展。 对于Python v3.9.0,如果我尝试寻找函数定义,则会发现找不到定义。 但是,如果我将Conda Virtual环境用于Python 3.7.0,我不会收到错误消息。 可能是什么问题?