7

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

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

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

谁能建议我应该使用以下给定列表中的哪个工具(或工具组合)?

  1. PMD
  2. 格纹风格
  3. 查找错误

编辑:感谢Ira的指导。我正在寻找与 Sonar 一起使用的静态代码分析工具。我希望现在问题很清楚了。

4

3 回答 3

2

这里有一些关于在 PMD 上设置自定义规则的教程,除了声纳之外,我自己使用了与 Maven 集成的 PMD。

http://www.techtraits.com/Programming/2011/10/31/writting-pretty-code-with-pmd/

http://www.techtraits.com/Programming/2011/11/05/custom-pmd-rules-using-xpath/

http://blog.code-cop.org/2010/05/custom-pmd-rules.html

于 2011-11-22T21:10:57.567 回答
1

我使用与声纳集成的 FindBugs 和 PMD。我不鼓励使用 CheckStyke,因为它引入了一种并非所有开发人员都喜欢的格式样式。

FundBugs 非常完整,帮助我找到了很多错误。我建议将 FindBugs 与持续集成工具(如 hudson(http://www.eclipse.org/hudson/))集成。

Hudson 支持 FindBugs、CheckStyle 和 PMD。

于 2013-08-14T18:57:29.343 回答
1

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

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

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

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

于 2012-10-26T20:10:13.623 回答