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

如何在Java项目中查找未使用/无效的代码

陆正德
2023-03-14
问题内容

你使用什么工具在大型Java项目中查找未使用/无效的代码?我们的产品已经开发了几年,并且很难手动检测不再使用的代码。但是,我们确实尝试删除尽可能多的未使用的代码。

对于一般策略/技术(除特定工具之外)的建议也将受到赞赏。

编辑:请注意,我们已经使用了代码覆盖率工具(Clover,IntelliJ),但是这些帮助不大。无效代码仍具有单元测试,并显示为已覆盖。我猜一个理想的工具可以识别出几乎没有其他代码依赖的代码集群,从而可以对文档进行手动检查。


问题答案:

我将对正在运行的系统进行检测以保留代码使用情况的日志,然后开始检查几个月或几年未使用的代码。

例如,如果你对未使用的类感兴趣,那么可以创建所有类以记录创建实例时的日志。然后,一个小的脚本可以将这些日志与类的完整列表进行比较,以找到未使用的类。

当然,如果你使用方法级别,则应牢记性能。例如,这些方法只能记录其首次使用。我不知道这是如何用Java最好完成的。我们是在Smalltalk中完成的,Smalltalk是一种动态语言,因此可以在运行时修改代码。我们使用日志记录调用对所有方法进行检测,并在首次记录方法后卸载日志记录代码,因此一段时间后,不会再出现性能损失。也许可以使用静态布尔值在Java中完成类似的操作…



 类似资料:
  • 问题内容: 为了重构客户端项目,我正在寻找一种安全的方法来查找(和删除)未使用的代码。 在大型React项目中,您使用什么工具查找未使用/无效的代码?我们的产品已经开发了几年,并且很难手动检测不再使用的代码。但是,我们确实尝试删除尽可能多的未使用的代码。 对于一般策略/技术(除特定工具之外)的建议也将受到赞赏。 谢谢 问题答案: 首先,这是一个很好的问题,在大型项目中,编码人员通常尝试进行多行代码

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

  • 我有一份名单。每个人都有名字和年龄。 我想使用流来查找此人是否已经在列表中。

  • 我想在我的项目中找到未使用的依赖项。Gradle中有没有类似Maven的功能?

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

  • 本文向大家介绍如何清除在项目中无用的css代码呢?相关面试题,主要包含被问及如何清除在项目中无用的css代码呢?时的应答技巧和注意事项,需要的朋友参考一下 1、IDE中,会对没有使用到的样式,自己进行检测,删除时候,还需要手动删除。 2、webpack中,有基于消除无用css的插件(purifycss-webpack purify-css),不过需要提供html文件的模板,因为需要遍历这个模板,才