上有3種方法可以自定義soanr的代碼校驗規則:
- 直接在sonar的web接口中增加XPath規則;
- 通過插件的功能來增加自定義規則,比如checkstyle,pmd等插件是允許自定義規則的;
- 通過新增一個代碼分析器來實現自定義規則;
sonar官方推薦的方式是使用最簡單的XPath方式來增加自定義規則,如果語言太復雜或者XPath無法查詢其結構的,再使用自定義插件的方式。
sonar為大部分流行的語言(C, C#, C++, Cobol, Flex, JavaScript, PL/I, PL/SQL, Python and VB.NET)提供了一個簡潔的方式來增加代碼規則。這些新增規則必須使用XPath來實現,這樣的話語言的每一部分都可以映射到Abstract Syntax Tree(AST)。對於每一種語言,SSLR Toolkit 工具提供了代碼轉AST的功能。
