详情介绍
PMD 6是一款功能强大的源代码分析工具,可以支持Java、JavaScript、PLSQL、XML、XSL等多达8种语言的源代码分析功能,通过该软件你可以随时查找原码文件中可能存在的代码重复、空缺、未使用的变量等编程问题,并能在任何必要的使用时用Java、AST的XPath表达式等语言来编写属于自己的自定义分析规则。另外在PMD 6的版本更新中,还新增了Java 9的支持问题以及更多的指标框架,这些更新都将会使得该软件的大部分功能变得更加效率而易用,欢迎免费下载。

软件特点
1、支持8种语言
2、许多随时可用的内置规则
3、自定义规则可以用Java编写
4、自定义规则可以使用查询源的AST的XPath表达式来编写
5、许多输出格式
6、许多IDE集成,构建工具
PMD 6新增功能
1、Java 9支持:基于JavaFX的新规则设计器GUI。
2、Java语法:已更新为支持分析Java 9项目
3、改版的Apex CPD:我们现在正在使用Apex Jorje Lexer来为CPD标记Apex代码。这种变化意味着:CPD现在忽略所有评论。这与其他语言(如Java和Groovy)的工作方式一致;Tokenization符合语言规范,提高了准确性。
4、Java类型解析:支持方法遮蔽和重载,以及可变参数。但是,对于泛型和类型推断的目标方法的选择仍在进行中。期待在预告中发布。
5、指标框架:计划了更多指标。基于这些指标,像“GodClass”检测这样的规则可以更容易地实现。以下规则受益于度量框架:NcssCount(java)、NPathComplexity(java)、CyclomaticComplexity(java和apex)。
6、错误报告:对错误报告进行了一些改进,这意味着对一些报告格式的改变。另外值得注意的是,xml报告现在提供了一个XML Schema定义,使得解析和验证更加容易。
7、先端规则抑制:现在可以通过使用@SuppressWarnings注释来非常类似于在Java中完成顶点违规。

8、顶点解析器更新:Apex解析器版本从1.0-sfdc-187到210-SNAPSHOT,此更新让我们充分利用Salesforce的最新改进。
PMD 6使用简介
一、Windows的基本用法
1、您可以在下载解压软件压缩包后,在bin子目录中找到PMD的启动器批处理文件pmd.bat。

2、启动后键入“pmd-d[文件名|包含源代码的jar或zip文件|目录]-f[报告格式]-R[规则集文件]”,您可以将包含Java源代码的文件名,目录名或jar或zip文件名传递给PMD。

3、另外,PMD二进制发行版包含了jar文件中的规则集文件-尽管上面的“rulesets/java/unusedcode.xml”参数看起来像文件系统引用,但它真的被getResourceAsStream()调用用来加载它PMDjar文件。

二、选项
该工具带有相当丰富的帮助文本,只需运行-help即可打开。
-rulesets/-R:用逗号分隔的规则集名称列表
-dir/-d:来源的根目录
-format/-f:报告格式类型。默认格式是“文本”。
-auxclasspath:指定源代码使用的库的类路径。这由类型解析使用。或者,可以指定包含连续行上的路径元素的文本文件的“file://”URL。
-uri/-u:数据库URI的来源。如果这是给出的,那么你不需要提供-dir。
-filelist:包含要分析的文件的逗号分隔列表文件的路径。如果这是给出的,那么你不需要提供-dir。
-debug/-verbose/-D/-V:调试模式。打印更多日志输出。
-help/-h/-H:显示使用帮助。
-encoding/-e:指定PMD正在读取的源代码文件的字符集编码(即UTF-8)。默认是UTF-8。
-threads/-t:设置PMD使用的线程数。默认是1。将线程设置为“0”以禁用多线程处理。
-benchmark/-b:基准模式-完成时输出基准报告;默认为System.err
/S:进行压力测试。
-shortnames:在报告中打印缩短的文件名。
-showsuppressed:报告应该显示违规的规则。
-suppressmarker:指定标记PMD应忽略的行的字符串;默认是NOPMD。

三、规则集
1、规则类别
自从PMD6.0以来,所有提供的内置规则被分为八类:
(1)最佳实践:这些是强制普遍接受的最佳实践的规则。
(2)代码风格:这些规则强制执行特定的编码风格。
(3)设计:帮助您发现设计问题的规则。
(4)文档:这些规则与代码文档相关。
(5)错误倾向:规则来检测破坏,非常混乱或容易出现运行时错误的结构。
(6)多线程:这是在处理多个执行线程时标记问题的规则。
(7)性能:标记次优代码的规则。
(8)安全性:标记潜在安全缺陷的规则。
这些类别可帮助您找到规则,并找出项目的相关性和影响。
2、规则集
有两个主要用例:
(1)定义新规则时,需要在规则集中定义规则。PMD的内置规则在特殊规则集中定义,这些规则集构成了上述八个类别。
(2)在执行PMD时,您需要知道应该执行哪些规则。您可以直接指向内置规则集,但是您可能会被发现的违规行为淹没。如最佳实践中所述,最好定义一个自定义规则集。
3、创建一个自定义规则集
首先创建一个包含以下内容的新XML文件

4、调整规则属性
如果你想对空的catch块不那么严格,你可以定义一个异常变量名称ignored不会引起违规。因此,您将引用规则并定义适当的属值。

下载地址
人气软件

Wolfram Mathematica 14.2.1 中文正式免费版(附安装教程)
Mathworks Matlab R2024b v24.2.0.2712019 中文正式免费版(附安
Python 3.7 for win32 (Python编程开发工具)官方安装版
MathWorks MATLAB R2025b v25.2.0.2998904 中文授权免费版(附安
Mathworks Matlab R2022b v9.13.0 U2 中文完美授权版(附激活补丁
MathWorks MATLAB R2023b v23.2.0.2485118 Update 6 x64 中文正
Mathworks Matlab R2021b (9.11.0) 中文完美授权版(含激活补丁+
51dedecms模板转码专用工具 v5.6中文绿色版(GBK、UTF8码互转)
srvinstw 将exe注册为系统服务的软件
Web程序调用本地exe文件之方法(并传参到CS程序)
相关文章
-
BIP-0039 助记词词本 打包助记词(mnemonic phrase)是从一个固定的单词列表中选出的12、15、18、21或24个单词,这些单词按照顺序排列,可用于备份和恢复加密货币钱包...
-
Mathworks MATLAB R2025a v25.1.0.2943329 最新中文正式免费版(附安装教程)MATLAB R2025a 已具备强大的科学计算与工业仿真能力,尤其是其 Simulink 工具箱,在动态系统建模与仿真方面具有显著优势,MATLAB R2025a 最新版引入了全新 MATLAB Copilot ...
-
jq.exe 一个轻量级且灵活的命令行JSON处理器 v1.7.1jq是一个轻量级且灵活的命令行JSON处理器,他可以毫不费力地将您拥有的数据格式转换为您想要的格式,并且执行此操作的程序通常比您预期的更短、更简单...
-
网易y3编辑器 v2.5.3 安装免费版网易Y3编辑器是一款以行业顶级Messiah引擎为基底的高效游戏创作工具,专为降低游戏开发门槛而设计,编辑器提供超万项免费资源库,涵盖角色、特效、音效等全品类素材,并支...
-
阿里云WEF API调用工具 GUI版本 v1.0 绿色免费版阿里云WEF API调用工具是一款Web应用防火墙,通过调用阿里云密钥AccessKey ID、AccessKey Secret,然后可以直接控制阿里云WAF,操作便捷,欢迎需要的朋友下载使用...
-
Mathworks Matlab R2024b v24.2.0.2712019 中文正式免费版(附安装教程)MATLAB R2024b由全球领先的数学计算软件开发商 MathWorks正式发布了,新版R2024b 推出了几项重要更新,帮助从事无线通信系统、控制系统和数字信号处理应用的工程师和研究人...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的PMD 6(源代码分析工具) v6.0.0 官方英文版资源来源互联网,版权归该下载资源的合法拥有者所有。



























