我有一个 Web 应用程序,其中有不再使用的类和方法。
Eclipse 是否有一个功能可以告诉我所有不再使用的类和方法,以便“清理”我的代码?谢谢
UCDetector(Unnecessary Code Detector - 发音为“You See Detector”)是一个 Eclipse 插件工具,用于查找不必要的(死)公共 java 代码。例如没有引用的公共类、方法或字段。UCDetector 为以下问题创建标记,这些标记出现在 eclipse 问题视图中:
- 不必要的(死)代码
- 可见性可以更改为受保护、默认或私有的代码
- 字段的方法,可以是最终的
Eclipse 将自动突出显示未调用的代码和未使用的导入,并带有黄色波浪线。点击Ctrl-shift-O
删除未使用的导入。您仍然需要手动删除不需要的方法和字段。
要快速地检查一个类或方法是否正在被使用,左键单击它以选择它(灰色背景),然后右键单击它,References -> Workspace
查看你的工作区中是否有任何东西使用它。这可能不适用于在配置中指定 Java 方法或类的任何内容,例如 Spring XML 配置,因此请阅读下面的警告 :)
如果您有勇气,您可以让 Eclipse 分析一个类并自动删除它认为不必要的私有内容(请参阅下面的警告)。就是这样:
在您的代码中右键单击,转到Source -> Clean Up...
. 去找Custom
个人资料。打Configure
。在这里,转到Unnecessary Code
选项卡,您可以检查Remove unused private members
,以及要删除哪些内容(例如,方法将删除所有未调用的私有方法)。不要忘记首先在一个不错的存储库中备份您的代码 :) 点击Next
,您将看到更改的结果。如果您满意,请点击完成!
要创建永久清理配置文件,因此您不必每次都指定自定义,请转到Window -> Preferences -> Java -> Code Style -> Clean Up -> Edit
。这将编辑现有的默认 Eclipse 清理配置文件;你也可以在这里创建一个单独的。
最后,有一些工具可以做到这一点。谷歌搜索让我找到了UCDetector开源 Eclipse 插件,这似乎很好,在 Stack Overflow 上再次阅读它使它看起来是一个非常有用的工具,但它带有以下警告!:)
警告:小心!确保您删除的代码没有被其他任何地方访问(或者最好是不能被访问)。例如,一个很好的方法是使用一个版本控制系统来跟踪你的所有代码(这样你可以在必要时回滚),然后在测试系统中部署一个“清理过的”版本以确保一切正常,在继续生产之前。你不希望因为你的清洁而在凌晨 3 点打破东西:)
我们使用声纳代码分析来识别有关未使用的类或折旧类的使用的问题。Stackoverflow 上的其他答案提出了一系列可用于 exlipse 的工具:
如果您的项目不太复杂,您可以右键单击类选择references->project
菜单选项