pmd規則集是在rulesets的對應xml裏.java
以前研究pmd的時候,發現若是配置規則時使用<rule ref="rulesets/java/...xml">形式的話,該規則就怎麼樣都會被使用.命令行
即使命令行參數傳入的要求只調用該規則集xml裏的某一個規則.xml
如今反過來,若是想使用某個規則集的時候,某一個規則做爲輔助規則一定要被使用,並且不想用戶知道該規則搭配的細節,就能夠使用ref去引用一個規則!接口
這樣就沒必要對用戶的規則輸入去另外分析了.it
也沒必要實現本身的一個visitor,甚至根據自定義參數去判斷是否啓動某個掃描(參考SourceCodeProcessor類裏的useDFA等方法...它們都是實現了visitor接口,配置
但實際上寫一個規則,也一樣是在實現一個visitor..)sso
總的來講,場景適合於:引用
A規則依賴於B規則,可是又不想要用戶輸入A規則的時候,同時再輸入B規則的指令,就能夠使用該方法.方法