java代码审查软件p_使用代码分析工具PMD检查Android Java代码缺陷

本文介绍了PMD,一个用于静态分析Java代码的工具,用于检测常见编程缺陷。PMD支持多种语言,包括Java和Apex,并提供API编写自定义规则。通过将PMD集成到构建流程中,可以作为质量门来强制执行编码标准。文章详细讲解了如何通过命令行和Gradle使用PMD,并给出了具体的操作步骤。通过执行PMD,开发者可以提升代码质量和一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.背景

使用代码分析工具PMD检查Android Java代码缺陷,本文是个整理。

介绍

PMD是一个静态源代码分析器。它找到常见的编程缺陷,如未使用的变量,空的catch块,不必要的对象创建等等。它主要关注Java和Apex,但支持其他六种语言。

PMD具有许多内置检查(在PMD术语,规则中),这些检查在规则参考中针对每种语言进行了记录。我们还支持广泛的API来编写您自己的规则,您可以使用Java或作为自包含的XPath查询来执行。

在集成到构建过程中时,PMD最有用。然后,它可以用作质量门,以强制执行代码库的编码标准。除其他外,PMD可以运行:

作为Maven的目标

作为Ant任务

作为Gradle任务

从命令行

2.命令行方式使用 PMD

2.1 先了解使用手册

2.2 下载

2.3 执行检测的命令行格式

./run.sh pmd -d ../../../src/main/java/ -f text -R rulesets/java/basic.xml

2.4 我的脚本

# 准备环境信息

CUR=`PWD`

echo 当前工作目录:${CUR}

basepath=$(cd `dirname $0`; pwd)

echo 当前执行的脚本文件的父目录:${basepath}

PMD_HOME=$basepath/pmd-bin-6.12.0

echo PMD_HOME:${PMD_HOME}

PROJ_DIR=$(cd ${basepath}; cd ../../; pwd)

echo PROJ_DIR:${PROJ_DIR}

SRC=${PROJ_DIR}/app/src/main/java

FORMAT=html

RULE=rulesets/java/basic.xml

${PMD_HOME}/bin/run.sh pmd -d ${SRC} -f ${FORMAT} -R ${RULE}

3.Gradle 方式使用 PMD

3.1 引用插件

apply plugin: 'pmd'

3.2 编写task

def configDir = "${project.rootDir}/scripts"

def reportsDir = "${project.buildDir}/reports"

task pmd(type: Pmd) {

ignoreFailures = true

ruleSetFiles = files("$configDir/pmd/pmd-ruleset.xml")

ruleSets = []

source 'src'

include '**/*.java'

exclude '**/gen/**'

reports {

xml.enabled = false

html.enabled = true

xml {

destination "$reportsDir/pmd/pmd.xml"

}

html {

destination "$reportsDir/pmd/pmd.html"

}

}

}

3.3 关联到 check task

check.dependsOn 'pmd'

3.4 执行 check

./gradlew check

查看报告

位于:build/reports/pmd 文件夹下

5fe23ed8d147

image.png

4. 参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值