PMD
? ? 是一款采用BSD協(xié)議發(fā)布的Java代碼分析工具,通過靜態(tài)分析(不運行Java程序的情況下)獲知代碼錯誤。
????特點:
? ? PMD附帶了許多可以直接使用的規(guī)則算谈,利用這些規(guī)則可以找出Java源代碼存在的問題糠雨。用戶還可以自己定義規(guī)則,檢查Java代碼是否符合某些特定的編碼規(guī)范奖亚。
? ? 原理:
? ? PMD的核心是JavaCC解析生成器淳梦。PMD結(jié)合運用JavaCC和EBNF(擴展巴科斯-諾爾范式,Extended Backus-Naur Formal)語法昔字,再加上JJTree爆袍,把Java源代碼解析成抽象語法樹(AST,Abstract Syntax Tree)?
????官網(wǎng):
????https://pmd.github.io/pmd-6.16.0/
參考文檔:
https://github.com/alibaba/p3c/tree/b0930cd8df8bc8e9f046d1237d26da1caed3f2e0/p3c-gitbook
https://github.com/alibaba/p3c/tree/master/idea-plugin
https://github.com/alibaba/p3c/tree/master/p3c-pmd
代碼檢測工具sonar:http://www.sonar.org.cn/
Sonar服務(wù)器搭建?https://www.cnblogs.com/pflee/p/4291207.html