2011-04-01 87 views
2

如果我違反了特定規則超過3000個,是否有辦法讓pmd報告失敗。我希望CyclomaticComplexity低於1000違規,並且ExcessivePublicCount低於2000.我知道有一種方法可以獲得違規數量,但我不想要總數,因爲如果我將CC數量減少到800,並且增加EPC的數量爲2200,這將看起來好像沒有發生變化。如果不創建2個規則集,每個文件一個,然後以不同的pmd目標運行,是否有更好的方法來實現這一點。PMD報告超過X個違規

有沒有一種方法pmd可以給我每種類型違規的數量(I.E:500 - CC和200 - EPC),而不僅僅是一個所有違規列表?謝謝。

+0

所以沒有人有解決這個問題的辦法? – Steve 2011-04-13 19:35:12

回答

0

一個想法 - 你可以讓PMD以XML格式輸出結果。然後你可以編寫一個XPath表達式來處理這些計數的輸出。

在純PMD中,我假設你可以編寫一個規則來包裝/擴展它們並跟蹤靜態變量中的違規行爲。如果你跨多個CPU核心運行,這將不起作用,所以我不會去這條路線。另一個限制是你不知道有多少失敗。您可能會在第2001個錯誤上失敗,但不會是最後一個錯誤。