IDEA 中配置 PMD 静态代码检查插件,提升你的代码质量
什么是 PMD
PMD 官网: PMD - An extensible cross-language static code analyzer. (https://pmd.github.io/)
PMD是一种开源分析 Java 代码错误的工具,它是一个静态代码检测工具(所谓的静态,就是在 Java 代码不运行时就可以进行检查)。通过 PMD 的一些规则,可以检查出代码中存在的问题,例如:
- 可能存在的 BUG
- 空的
try/catch/finally/switch
语句
- 无效代码
- 可选的代码
String / StringBuffer
的滥用
- 复杂的表达式
- 不必须的
if
语句
- 可以使用
while
循环完成的 for
循环
- 重复的代码
总而言之,降低潜在的代码风险,减少人工审核成本,提高编码质量。此外,你也可以自己自定义规则。
PMD 插件配置
1. 插件下载
IDEA 插件下载地址:PMDPlugin - Plugins | JetBrains(或是直接在插件市场搜索安装)
2. 选择从磁盘安装
3. 重启生效
4. 添加配置模板
示例模板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?xml version="1.0" encoding="UTF-8"?> <ruleset xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="" xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"> <description> This is the PMD additional ruleset for TEAMMATES production code. </description> <exclude-pattern>.*/test/java/.*</exclude-pattern> <exclude-pattern>.*/client/java/.*</exclude-pattern> <exclude-pattern>.*.html</exclude-pattern> <exclude-pattern>.*.jsp</exclude-pattern> <exclude-pattern>.*.js</exclude-pattern> <exclude-pattern>.*.xml</exclude-pattern> <rule ref="category/java/bestpractices.xml/AvoidPrintStackTrace"/> <rule ref="category/java/bestpractices.xml/SystemPrintln"/> <rule ref="category/java/design.xml/AvoidThrowingRawExceptionTypes"/> <rule ref="category/java/design.xml/SignatureDeclareThrowsException"/> </ruleset>
|
5. PMD本地检查扫描
每次在代码上库,或者合并分之前就可以先进行一遍静态检查,降低提交到 GitLab 后代码检查异常的可能性,从而提升开发效率。
😎 自此,配置结束,可以开始你的 PMD 使用之旅了。