易于在(Java)静态代码分析工具中编写自定义规则

时间:2011-04-15 13:00:04

标签: findbugs checkstyle pmd sonarqube

目前我正在为一个必须通过静态代码分析工具分析多个项目的源代码(Java)的小组工作

但是我想编写自定义规则,我可以将其添加到工具提供的现有规则集中(规则主要涉及在源代码中匹配文本/字符串的正则表达式)。

特别是保持我应该能够轻松编写/添加我自己的自定义规则的视角,该视角可以与该工具的现有规则列表一起使用。

任何人都可以建议我使用下面给出的列表中的哪个工具(或工具组合)?

  1. PMD
  2. Checkstyle的
  3. FindBugs的
  4. 已编辑:感谢Ira指示方向。我正在寻找与Sonar一起使用的静态代码分析工具。我希望现在的问题很明确。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我使用与Sonar集成的FindBugs和PMD。 我不鼓励使用CheckStyke,因为引入了一种不适合所有开发人员的格式化风格。

FundBugs非常完整,让我发现了很多错误。我建议将FindBugs与hudson(http://www.eclipse.org/hudson/)等持续集成工具集成。

Hudson支持FindBugs,CheckStyle和PMD。

答案 2 :(得分:0)

我已经使用了所有这些工具多年,我会全部推荐它们!

Checkstyle,Findbugs和PMD都可以很好地与声纳集成,三者都允许创建自定义检查,并且所有三个都允许在声纳中使用这些自定义检查。

PMD可能最容易创建新的检查,但与其他检查相比,它也略有限制。 Findbugs需要.class文件,但由于整个事情通常集成到某种形式的自动构建过程中,所以没问题。 Checkstyle是我使用最多的工具,因为它既轻便又功能强大。

每个工具都有一些其他人没有的检查。特别是Findbugs有一些相当复杂的检查,几次让我感到惊讶。通过结合声纳中所有三种工具的优点,您可以构建一个强大的静态代码分析系统,真正帮助您的开发团队。