PMD 6是一款非常好用的源代码分析工具。编程人员都在使用的源代码分析工具PMD 6。它可以帮助用户分析所有源代码并简化您的工作。该程序支持很多编程环境,可以覆盖超过95%的用户习惯,包括最常见的Java和JavaScript,并且有些用户我也喜欢使用XML和XSL语言进行编程。该程序还支持分析相应的源代码文件。除了以上支持之外,它还支持PLSQL等。它可以支持对8种编程语言的编程源代码进行分析;它可以为用户提供一个随时查询源代码重复的平台。用户可以直接使用该程序查询代码重复,空缺,未使用的变量和其他编程问题;功能强大且实用,需要它的用户可以下载体验。
软件特色:
修订的Apex CPD:我们现在使用Apex Jorje Lexer标记CPD的Apex代码。此更改意味着:CPD现在忽略所有注释。
Java类型分析:支持方法重影和重载以及可变参数。但是,泛型和类型推断的目标方法的选择仍在进行中。期待预告片中的公告。
指标框架:已计划更多指标。基于这些指标,可以更轻松地实现“ GodClass”检测等规则。
以下规则受益于测量框架:NcssCount(java),NPathComplexity(java),CyclomaticComplexity(java和apex)。
高级规则抑制:现在可以使用@SuppressWarnings批注与在Java中完成顶点违规非常相似。
软件功能:
1.支持8种语言,您可以自定义内置规则
2.许多内置规则可随时用于支持各种Java规则的快速编写
3.自定义规则可以用Java编写,从而可以快速完成构造
4.可以使用查询源的AST的XPath表达式编写自定义规则
5.多种输出格式,支持使用各种查询者编写所需规则
6.许多IDE集成,构建工具,都可以下载输出格式
7.Java 9支持:基于JavaFX的新规则设计器GUI。
8. Java语法:已更新,以支持对Java 9项目的分析
使用说明:
1.用户可以单击本网站提供的下载路径下载相应的程序安装包
2.通过解压缩功能打开压缩包。打开程序数据包后,可以看到相应的程序文件
3.找到主程序,然后在bin子目录中找到PMD启动器批处理文件pmd.bat。
4.您可以快速单击以在用户下载并解压缩的附件包中打开所需的cpdgui.bat。
5.启动后,您可以快速输入所需的pmd-d文件名,其中包含需要使用的源代码。
6.界面包含用户需要使用的jar文件的规则集文件,因此您可以轻松加载和使用各种pmdjar文件;
7.可以快速创建用户所需的规则集
该工具带有丰富的帮助文本,只需运行-help即可将其打开。
Rulesets / -R:以逗号分隔的规则集名称列表
dir / -d:源的根目录
格式/ -f:报告格式类型。默认格式为“文本”。
Auxclasspath:指定源代码使用的库的类路径。由类型解析使用。或者,您可以指定文本文件的“ file://” URL,该文本文件在连续的行上包含路径元素。
Uri / -u:数据库URI的源。如果给出了此选项,则无需提供-dir。
文件列表:包含要分析的文件的逗号分隔列表文件的路径。如果给出了此选项,则无需提供-dir。
调试/详细/ -D / -V:调试模式。打印更多日志输出。
帮助/ -h / -H:显示帮助。
编码/ -e:指定PMD正在读取的源代码文件的字符集编码(即UTF-8)。默认值为UTF-8。
线程数/ -t:设置PMD使用的线程数。默认值为1。将线程设置为“ 0”以禁用多线程。
Benchmark / -b:基准模式输出完成时的基准报告;默认为System.err
/ S:执行压力测试。
简称:在报告中打印缩短的文件名。
Showsuppressed:报告应显示违规规则。
Suppressmarker:指定一个字符串,用于标记PMD应该忽略的行;默认值为NOPMD。
1,规则类别
从PMD6.0开始,提供的所有内置规则分为八类:
(1)最佳做法:这些是规则
实施公认的最佳做法。
(2)代码样式:这些规则强制执行特定的代码样式。
(3)设计:帮助您发现设计问题的规则。
(4)文档:这些规则与代码文档有关。
(5)错误趋势:检测损坏的规则,结构中非常混乱或易于出现运行时错误。
(6)多线程:这是处理多个执行线程时标记问题的规则。
(7)性能:标记次优代码的规则。
(8)安全性:标记潜在安全缺陷的规则。
这些类别可以帮助您找到规则,并找出项目的相关性和影响。
2,规则集
有两个主要用例:
(1)定义新规则时,需要在规则集中定义规则。 PMD的内置规则是在特殊规则集中定义的,这些规则集构成上述八个类别。
(2)在执行PMD时,您需要知道应该执行哪些规则。您可以直接指向内置规则集,但是发现的违规可能会让您不知所措。如最佳实践中所述,最好定义一个自定义规则集。
3,创建自定义规则集
首先创建一个具有以下内容的新XML文件
4,调整规则属性
如果您希望对空catch块的要求不那么严格,可以定义一个忽略的异常变量名称,该名称不会引起冲突。因此,您将参考规则并定义适当的属性值。