我在一个项目中,以前的程序员到处都在复制粘贴代码。这些代码实际上是相同的(或非常相似),可以将它们重构为一个。
我花了无数小时来手动重构这些代码,但我认为必须有更好的方法。有些是非常平凡的静态方法,可以将它们移到祖先类中(但以前的初级程序员都将其复制粘贴到整个类中)。
是否有代码分析工具可以检测到这一点并提供报告/建议?如果可能的话,我更喜欢免费/开源工具。
我使用以下工具:
两种工具都具有代码重复检测支持。但是他们两个都没有能力建议您如何重构代码。
JetBrains IntelliJ IDEA Ultimate具有良好的静态代码分析功能,并具有代码复制支持,但它不是免费的。