3

如果有一个代码分析工具能够在升级到新的 Java 版本时建议代码更改,我一直在徘徊。

例如:

  • 升级到 Java 7 时查找.close()自动关闭资源的调用
  • catch升级到 Java 7 时查找具有相同正文的多个子句
  • 升级到 Java 5 时寻找不必要的手动装箱和拆箱
  • ...

现有工具或规则(例如 Checkstyle)是否有帮助?

4

3 回答 3

2

IntelliJ 有一组标记为“语言迁移”的检查,可以帮助您发现可以从新语言结构(例如增强的 for 循环)中受益的位置。

它甚至可以立即自动将此类建议应用于您的整个代码库 - 如果它当然是无风险的转换。

于 2013-03-18T15:36:12.133 回答
0

Findbugs 处理.close()Java 资源管理中所述:了解 Findbugs 结果并捕获许多其他问题。

Finsbugs 处理一些有问题的装箱,例如用作==. Eclipse 警告可以配置为警告您所有隐式装箱/拆箱。

我不知道任何处理来源相同的catch机构的事情。

于 2013-03-18T15:34:16.543 回答
0

我不知道专门为此设计的工具,但有许多工具可用于一般代码审计,它们将检测或建议这些类型的升级。

  1. CodePro 分析
  2. 查找错误
  3. PMD(尤其是冗余 catch 块的 CPD 部分)
  4. 格纹风格

Google的CodePro Eclipse 插件具有许多非常有用的代码分析功能,可以找到您提到的许多 Java 7 功能。

PMD中的 Copy/Paste Detector一般可以检测复制粘贴的代码,因此非常适合查找冗余的 catch 块。

于 2013-03-18T15:34:35.673 回答