首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

添加PMD插件扫描潜在bug

上一节使用checkstyle来规范你项目主要解决了代码编码规范问题,比如缩进换行等。这次继续代码健康工具类PMD。...检查报告 j-context/target/site/pmd.html 也可以单独运行pmd mvn pmd:pmd idea插件 搜索安装idea pmd插件,导入我们ruleset, 然后项目上右键...耦合(rulesets/coupling.xml)—— 查找类之间过度耦合迹象,比如导入内容太多;超类型接口就已经够用时候使用子类类型;类字段、变量和返回类型过多等。...严格异常(rulesets/strictexception.xml)—— 针对异常测试:不应该声明该方法而抛出 java.lang.Exception 异常,不应当将异常用于流控制,不应该捕获 Throwable...日志(rulesets/logging-java.xml)—— 查找 java.util.logging.Logger 不当使用,包括非终状态(nonfinal)、非静态记录器,以及一个类中有多个记录器

1.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

持续集成三 maven配置jacoco、checkstyle、findbugs、pmd

配置jacoco 5.执行指定版本 ---- 这几个工具用途: checkstyle:检测代码规范 findbugs:检测代码不明显语法错误,比如使用“==”比较字符串 pmd:扫描潜在问题,如未用过局部变量...build配置了checkstyle配置了生效时期段后,会在相应周期执行,执行失败,则编译失败 如果要跳过checkstyle:mvn clean package -Dcheckstyle.skip...-- 程序verify阶段,执行report测试程序。 文件输入为perpare-agent阶段设置或者默认jacoco.exec....里,然后在运行使用使用命令来执行: 子模块虽然继承了插件但是父目录打包时候子模块不会执行绑定生命周期命令 mvn clean package checkstyle:checkstyle findbugs...:findbugs pmd:pmd org.jacoco:jacoco-maven-plugin:prepare-agent -Dmaven.test.failure.ignore=true 使用这些命令时候使用

2.8K30

Java代码质量检查

需要注意是: 1.Jacoco覆盖率,目前只配置了全局覆盖和分支覆盖,不添加阈值则为0,修改阈值实现覆盖率控制。可以过滤不需要扫描文件,比如生成java文件。...2.checkstyle,这个读取我们自定义checkstyle配置,后期使用过程修改完善程我们自己配置方案。可以过滤不需要扫描文件,比如生成java文件。...代码里通过注解或者注释忽略扫描: 1.1 checkstyle忽略 忽略单独代码模块,比如spring security配置 //CHECKSTYLE:OFF public void someMethod...忽略 阿里Java扫描插件使用PMD来实现,对于某些类不想执行扫描,可以类上添加注解 @SuppressWarnings("PMD") 也可以直接在excludes里配置 ...checkstyle编码规范报告: ? 3 检查阈值 site命令会生成对应report,但实际开发,我们会期望出现错误时停止构建,提醒开发者修复问题。bug发现越早,修复成本越低。

2.7K20

游戏代码审计基础

一、概述 静态代码分析是指在不实际执行程序情况下,对代码语义和行为进行分析,由此找出程序由于错误编码导致异常程序语义未定义行为。...它能在软件开发流程早期就发现代码各种问题,从而提高开发效率和软件质量。...它用于分析一些常见编程缺陷(未使用变量、空捕获块、不必要对象创建等)。...https://github.com/pmd/pmd 建议前期使用商采方案后期有一些相应游戏相关代码质量、安全审计资源和沉淀后进行自研。...商业选型原则:1.支持多个app代码都可以进行使用 2.多并行,需要支持多人使用 3.需要提供api进行接入集成 4.系统稳定 建议采购商业源代码审计方案

56510

用 Eclipse 插件提高代码质量

我也很想要一张能发现潜在缺陷安全之网。 本系列 八月份 那期文章,我得出了这样结论:将检验工具集成到构建过程(例如,使用 Ant Maven),能够建立起一种寻找潜在缺陷方法。...如果使用 Eclipse 插件,就可以通过 Continuous Integration 构建集成前 发现一些这样冲突。...Eclipse CheckStyle 代码冲突列表 使用 CheckStyle 插件 Eclipse 内嵌入编码标准检验是一种很棒方法,用这种方法可以在编码时 积极地改进代码,从而在开发周期早期发现源代码潜在缺陷...为 Eclipse 中使用这项便利工具,需要安装具有 PMD Eclipse 插件,该插件具有 CPD 功能。...打开 Eclipse Metrics View 单击 OK 来显示如图 14 窗口。 在此例,我正在查看一个单独方法圈复杂度。

87730

Findbugs配合idea使用代码检查(功能同sonarqube类似)

据统计大型应用程序通常每1000-2000非注释源语句中大约有1个缺陷。...1.2 QAPlug-FindBugs IDEA搜索会发现有四种QAPlug,包含了PMD、FindBugs、CheckStyle和QAPlug。...因此,这样项目中都会引入Checkstyle 来规范大家编码风格,尽量做到统一和合理。 1.2.3 QAPlug-PMD 检查源文件潜在问题。...插件下载页面:https://plugins.jetbrains.com/idea ,搜索框输入插件名称 findbugs 搜索,点击出现下拉提示搜索按钮,即可进入插件下载页面,选择对应安装版本下载即可...correctness: 代码正确性,主要是没有对变量进行不为空判定,特殊情况可能发生空指针异常

2.4K10

Gradle 与 Maven

它还保留存储库元数据以及缓存依赖项,确保使用相同缓存两个多个项目不会相互覆盖,并且它具有基于校验和缓存,并且可以与存储库同步缓存。...4 代码示例 比较 Ant、Gradle 和 Maven 时,Naresh Joshi 比较了Programming Mitra 创建编译、执行静态分析、运行单元测试和创建 JAR 文件构建脚本所需代码...您可以添加插件(例如 Maven CheckStyle、FindBugs 和 PMD)以将静态分析作为单个目标与单元测试一起执行,但您需要指定海关检查样式配置路径以确保它在错误时失败,使用如下代码:...XML 代码来完成一些基本和常见任务,因此,Maven 具有大量任务和依赖项项目可能会导致 pom.xml 文件包含数百到数千代码。...执行以下命令以获取 Gradle 可以使用当前配置运行任务列表: gradle tasks --all 5 如何选择 总体而言,这两种工具都有各自优点和缺点。 定制构建。

1.7K40

怎样编写高质量Java代码

上面解释了代码质量相关5个方面,实际开发环境,已经有很多工具为我们解决以上5个方面的问题,下列5个eclipse插件分别对这5个问题有很好支持: 编码标准:CheckStyle 插件URL...使用eclipse上安装好了CheckStyle插件后,我们来建一个类用它跑一下。...“getId不是继承方法,必须指定abstract,final空”,如果你懒得方法上加“final”,这条规则也可以去掉。...这不仅严重影响代码质量,也无形增加了代码量。 注:精简程序和高复用度代码是我们一直追求目标。 PMDCPD工具就是为检查重复代码而生。...小结 本文介绍了和java代码质量相关5个方面问题,并介绍对应eclipse插件用法和作用。我们实际开发,尽量根据自己公司和团队情况来制定一些检查规则,来提高代码质量。

1.2K100

怎样编写高质量Java代码

上面解释了代码质量相关5个方面,实际开发环境,已经有很多工具为我们解决以上5个方面的问题,下列5个eclipse插件分别对这5个问题有很好支持: 编码标准:CheckStyle 插件URL...使用eclipse上安装好了CheckStyle插件后,我们来建一个类用它跑一下。...“getId不是继承方法,必须指定abstract,final空”,如果你懒得方法上加“final”,这条规则也可以去掉。...这不仅严重影响代码质量,也无形增加了代码量。 注:精简程序和高复用度代码是我们一直追求目标。 PMDCPD工具就是为检查重复代码而生。...小结 本文介绍了和java代码质量相关5个方面问题,并介绍对应eclipse插件用法和作用。我们实际开发,尽量根据自己公司和团队情况来制定一些检查规则,来提高代码质量。

85430

Android 项目代码质量保证实践

handler,避免 layout xml 存在无用结点等 Gradle 编码规范 如尽量避免 lib 使用 module,独立工程可以通过 aar mvn 方式导入 具体项目相关编码规范等 如项目团队规定使用自定义...随着编码规范完善充实,多个开发编码规范如何保证,就会成为一个显而易见问题。... Android Studio 上配置 CheckStyle 流程如下: Android Studio 添加 gradle Plugin apply plugin: 'checkstyle'...image 上述最后一代码,很明显执行时候会发生空指针异常,这里因为 FindBugs 无法知道变量 strMaps 是否确实有 aaa 这个 key,为此这里会检查出错误。 3....未初始化成员变量使用 ? image 这里由于类成员变量 actions 并未初始化,因此当 actions.add("TEST") 被执行时候会发生异常

1.7K20

使用Eclipse插件提高Java编码质量

上面解释了代码质量相关5个方面,实际开发环境,已经有很多工具为我们解决以上5个方面的问题,下列5个eclipse插件分别对这5个问题有很好支持:  编码标准:CheckStyle 插件...编码标准(CheckStyle使用Eclipse上安装好了CheckStyle插件后,我们来建一个类用它跑一下。...@throws tag for “Exception”  注释希望有@throws说明  5.“.”...“getId不是继承方法,必须指定abstract,final空”,如果你懒得方法上加“final”,这条规则也可以去掉。 ...这不仅严重影响代码质量,也无形增加了代码量。  注:精简程序和高复用度代码是我们一直追求目标。  PMDCPD工具就是为检查重复代码而生

1.7K70

持续集成六 Jenkins配置项目和质量检测(sonar)

5.1) 7.sonar scanner 7.1 扫描指定模块 8.配置前端扫描 ---- 配置多个模块和单个模块不一样,多个模块配置问题可以看下一篇 1.安装插件 checkstyle findbugs...注意:jenkins和sonar都是docker,且部署同一台机器上 这里配置就是docker里分配地址 首先jenkins和sonar都要在同一网段内,可以使用命令 #新建bridge docker...6.编译 对应上一篇说过maven命令 clean package checkstyle:checkstyle findbugs:findbugs pmd:pmd org.jacoco:jacoco-maven-plugin...6.2 指定编译模块目录(接着5.1) 参考了 https://segmentfault.com/q/1010000021576084/ 注意: 使用命令 -pl 命令指定模块编译,执行入口pom.xml.../target/classes 构建后加入checkstyle findbugs pmd报表输出,默认就行,默认值是: **/checkstyle-result.xml ?

1K10

Jenkins下配置findbugs、pmdcheckstyle实现代码自动检测

-- 配置静态代码检查包括checkStyle、findBugs、pmd --> <!...我设置是每周一到周五凌晨两点进行代码检查 H 2 * * 1-5 三、maven项目对于findbugs、pmd、及checkstyle构建配置  构建这一步时候就需要填写check命令了...findbugs配置如下: pmd配置如下: checkstyle配置如下: 以上配置完成后,就会在项目的target/site目录下产出相应Html和xml文件 四、构建后以报表形式显示三个...通过这一步让代码检测报告动可视化显示Jenkins界面上 五、完成代码检查后发送项目检查邮件给项目小组  我是配置发送模板,然后按照模板进行发送email 一、配置邮件发送模板 【系统管理】中选择

41520

Gradle Vs Maven:Java项目构建工具如何选择?

Gradle和Maven是Java世界两个重要自动化构建工具,项目中我们两者之间如何选择呢?两者有什么异同点呢? ---- ?...它还将存储库元数据与缓存依赖项保持在一起,确保使用同一缓存两个多个项目不会相互覆盖,并且具有基于校验和缓存,并且可以将缓存与存储库同步。...我们定义一个test项目,该项目需要junit依赖包和一些优化代码插件(Maven CheckStyle,FindBugs和PMD)。 首先看Maven配置 ? ?...因为要用到Maven CheckStyle,FindBugs和PMD插件来优化和检查代码,所以我们也定义了相应插件。如果我们项目需要大量外部依赖和插件,那我们这个POM文件就非常大。...可以看到使用gradle进行构建时候,同样项目,只需要编写不到10代码,而maven差不多写了50左右代码,这就是gradle优势。

13.8K21

五款提升代码质量IDEA插件,赶紧选择适合你装上吧!

3、使用说明: 图片 可以看到基本都是一些缩进啥编码规范,可以不用太关注 三、PMD 1、整体介绍: PMD侧重面向安全编码规则,且具备一定数据流分析和路径分析能力,能力比CheckStyle稍微强点...,并且 PMD 支持自定义规则,PMD可以直接使用规则包括以下内容: 潜在bug:空try/catch/finally/switch语句 未使用代码(Dead code):未使用变量、参数、私有方法等...(2)从右键菜单启动: 文件或者编辑器中点击右键,也可以看到“Run PMD”选项,如果通过该方式启动, 检测范围取决于鼠标光标当前所选中区域。...因为实际工作,可能需要根据实际情况自定义检测规则,就可以通过这里导入,如果要使用它,需要在启动PMD进行检测时选择该自定义规则。...,感兴趣读者可以自己上网查看,我们这里主要介绍如何在 sonarLint 插件配置关联 sonar 平台服务器工程,进行本地检查: 点击新增按钮,输入Configuration Name,配置sonarlint

90210

别再写狗屎代码了,推荐这 5 款 IDEA 插件,让你代码质量直接起飞!

三、PMD 1、整体介绍: PMD侧重面向安全编码规则,且具备一定数据流分析和路径分析能力,能力比CheckStyle稍微强点,并且 PMD 支持自定义规则,PMD可以直接使用规则包括以下内容: 潜在...(2)从右键菜单启动: 文件或者编辑器中点击右键,也可以看到“Run PMD”选项,如果通过该方式启动, 检测范围取决于鼠标光标当前所选中区域。...因为实际工作,可能需要根据实际情况自定义检测规则,就可以通过这里导入,如果要使用它,需要在启动PMD进行检测时选择该自定义规则。...,执行之后可以看到如下信息,如果代码中有不合理地方会在report显示,同时点击错误地方右边会给出建议修改供参考。...,感兴趣读者可以自己上网查看,我们这里主要介绍如何在 sonarLint 插件配置关联 sonar 平台服务器工程,进行本地检查: 点击新增按钮,输入Configuration Name,配置sonarlint

1.7K10

有了这 5 个 IDEA 插件,代码质量还不杠杠!拿捏!

3、使用说明: 可以看到基本都是一些缩进啥编码规范,可以不用太关注 三、PMD 1、整体介绍: PMD 侧重面向安全编码规则,且具备一定数据流分析和路径分析能力,能力比 CheckStyle 稍微强点...,并且 PMD 支持自定义规则,PMD 可以直接使用规则包括以下内容: 潜在 bug:空try/catch/finally/switch语句 未使用代码(Dead code):未使用变量、参数...(2)从右键菜单启动: 文件或者编辑器中点击右键,也可以看到“Run PMD”选项,如果通过该方式启动, 检测范围取决于鼠标光标当前所选中区域。...因为实际工作,可能需要根据实际情况自定义检测规则,就可以通过这里导入,如果要使用它,需要在启动 PMD 进行检测时选择该自定义规则。...,感兴趣读者可以自己上网查看,我们这里主要介绍如何在 sonarLint 插件配置关联 sonar 平台服务器工程,进行本地检查: 点击新增按钮,输入Configuration Name,配置sonarlint

3.5K20
领券