详情介绍
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不会引起违规。因此,您将引用规则并定义适当的属值。
下载地址
人气软件
51dedecms模板转码专用工具 v5.6中文绿色版(GBK、UTF8码互转)
srvinstw 将exe注册为系统服务的软件
Web程序调用本地exe文件之方法(并传参到CS程序)
Wolfram Mathematica 14.1.0 中文正式免费版(附安装教程)
Composer.exe windows安装包
Mathematica 11.0.1 for linux 英文特别版(附注册机+激活方法)
Python 3.7 for win32 (Python编程开发工具)官方安装版
LaTeX编辑器(Texmaker) 5.1.4 免费多语中文安装版
MathWorks MATLAB R2023b v23.2.0.2485118 Update 6 x64 中文正
Mathworks Matlab R2024b v24.2.0.2712019 中文正式免费版(附安
相关文章
-
阿里云WEF API调用工具 GUI版本 v1.0 绿色免费版
阿里云WEF API调用工具是一款Web应用防火墙,通过调用阿里云密钥AccessKey ID、AccessKey Secret,然后可以直接控制阿里云WAF,操作便捷,欢迎需要的朋友下载使用...
-
Mathworks Matlab R2024b v24.2.0.2712019 中文正式免费版(附安装教程)
MATLAB R2024b由全球领先的数学计算软件开发商 MathWorks正式发布了,新版R2024b 推出了几项重要更新,帮助从事无线通信系统、控制系统和数字信号处理应用的工程师和研究人...
-
MATLAB Runtime R2024a(24.1) Update 4 中文安装免费版(附教程)
MATLAB Runtime R2024a是一组独立的共享库,支持执行已编译的 MATLAB、Simulink 应用程序或组件,允许电脑在没有安装MATLAB软件的情况下运行编译的 MATLAB 应用程序或组件...
-
Perforce Helix Core 2024.1 安装免费版(Win/Mac/Linux)
Perforce Helix Core 是领先的版本控制系统,适用于需要加速大规模创新的团队。它可以存储和跟踪您的所有数字资产(涵盖源代码、二进制文件乃至 IP)的变化。它还可以连接...
-
MathWorks MATLAB R2024a v24.1.0.253703 x64 LINUX 中文授权安装版
MATLAB R2024a LINUX版是一款强大完整的数学计算分析和编程软件!数百万工程师和科学家都使用它来完成自己的项目过程,具有超强的灵活性,全面适应和满足用户在工作过程中...
-
MathWorks MATLAB R2024a v24.1.0.253703 中文授权安装版(附安装教程)
MATLAB R2024a 是一种用于编程、数值计算和结果可视化的高级语言和交互式环境。使用 MATLAB,您可以分析数据、开发算法、创建模型和应用程序,欢迎需要的朋友下载使用...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的PMD 6(源代码分析工具) v6.0.0 官方英文版资源来源互联网,版权归该下载资源的合法拥有者所有。