您觉得源代码分析器有用吗?

Yuv*_*dam 6 debugging code-analysis static-analysis

  • 你使用源代码分析器吗?如果是这样,哪些语言发展?
  • 您是否发现它们有助于解决代码中的潜在错误?或者他们的大多数警告都是微不足道的?
  • 长时间使用后,您是否发现您的代码质量比以前更高?

Gar*_*ryF 3

我在 Java 中使用了一些静态分析工具。FindBugs是第一道防线,可以捕获许多常见错误并提供非常有用的反馈。它经常发现疲惫的程序员犯下的愚蠢错误,并且不会给用户带来沉重的负担。

PMD对于许多其他更棘手的错误很有用,但需要更多的配置。您会发现 PMD 的默认值通常是过高的。有太多的规则可能在很小的范围内有益,但最终不会帮助其他程序员维护您的代码。一些 PMD 规则常常带有过早优化的味道。

可能更有用的是PMD 中的CPD支持。它试图找到在其他地方重复的代码,以使重构变得更加容易。运行整个项目,这确实有助于确定清理代码和阻止任何 DRY 违规的最大优先事项。

Checkstyle也很方便,可以确保您的编码人员符合某些编码风格标准。它与 PMD 有一些重叠,但通常更有用。

最后,Cobertura是一个很棒的测试覆盖套件。非常方便地找出单元测试的不足以及您应该优先创建新测试的位置。

哦,我也一直在测试Jester。它似乎非常适合在测试中查找漏洞,即使代码有一定的覆盖率。还不推荐,只是因为我还没有使用它,但可以测试一下。

我在 Eclipse 中运行这些工具,并将它们作为自动构建套件的一部分运行。