有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java PMD报告超过X个违规

如果我违反特定规则超过3000次,有没有办法让pmd报告失败。我希望CyclomaticComplexity低于1000个违规项,ExcessivePublicCount低于2000个。我知道有一种方法可以得到违规的数量,但我不想要总数,因为如果我将CC的数量减少到800,并将EPC的数量增加到2200,似乎不会发生任何变化。如果不创建两个规则集,每个文件一个,然后使用不同的pmd目标运行,那么有更好的方法做到这一点吗

pmd有没有办法告诉我每种类型的违规数量(即:500-CC和200-EPC),而不仅仅是所有违规的列表?谢谢


共 (1) 个答案

  1. # 1 楼答案

    一个想法是,可以让PMD以XML格式输出结果。然后可以编写一个XPath表达式来对这些计数的输出进行后期处理

    在纯PMD中,我认为您可以编写一个规则来包装/扩展他们的规则,并在静态变量中跟踪违规行为。但如果你在多个CPU核上运行,这就行不通了,所以我不会走这条路。另一个限制是你不知道有多少次失败。您可以在第2001个错误中失败,但不能在最后一个错误中失败