标签:orm ips 参数 java代码 抽象语法树 atl nap 常见 不必要
PMD是一个开源代码分析器。可以查找常见编程缺陷,比如未使用的变量、空catch代码块、不必要的对象创建等。支持Java、JavaScript、PLSQL、Apache Velocity、XML、XSL。
除此之外,PMD还包含CPD(拷贝、粘贴检测器)。CPD可以发现重复的Java、C、C++、C#、PHP、Ruby、Fortran、JavaScript、PLSQL、Apache Velocity、Ruby、Scala、Objective C、Matlab、Python、Go。
与其他分析工具不同的是,PMD通过静态分析获知代码错误。也就是说,在不运行Java程序的情况下报告错误。PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题,例如:
此外,用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范。例如,你可以编写一个规则,要求PMD找出所有创建Thread和Socket对象的操作。
PMD的核心是JavaCC解析器生成器。PMD结合运用JavaCC和EBNF(扩展巴科斯-诺尔范式,Extended Backus-Naur Formal)语法,再加上JJTree,把Java源代码解析成抽象语法树(AST,Abstract Syntax Tree)。
PMD为各种IDE提供了安装插件:
官方文档介绍了从下载、安装、相关书籍、最佳实践、自定义规则等详细信息。
官方网站:https://pmd.github.io/
开源地址:https://github.com/pmd
标签:orm ips 参数 java代码 抽象语法树 atl nap 常见 不必要
原文地址:http://www.cnblogs.com/huojg-21442/p/7614199.html