Java-idea-FindBugs、PMD和CheckStyle对比
一、对比
| 工具 | 目的 | 检查项 | 备注 | 
| FindBugs 检查.class | 基于Bug Patterns概念,查找javabytecode (.class文件)中的潜在bug | 主要检查bytecode中的bug patterns,如NullPoint空指针检查、 没有合理关闭资源、字符串相同判断错(==,而不是equals)等 | FindBugs 大多数提示有用,值得改 1. 配置无查找功能,不过缩写能让我们很快找到某个规则 2. 提供图形界面的独立程序,对jar进行检测,有报告生成,非常方便 3. 很多功能插件没有实现,可独立使用FindBugs,但没法同时修改源码 | 
| PMD 检查源文件 | 检查Java源文件中的潜在问题 | 主要包括: 空try/catch/finally/switch语句块 未使用的局部变量、参数和private方法 空if/while语句 过于复杂的表达式,如不必要的if语句等 复杂类 | 比较严格 1. 独立的程序是命令行形式操作 2. 插件可以配置规则,有独立显示问题的视图,也很方便 3. 一般来说,需要自定义规则才通过检验 | 
| CheckStyle 检查源文件 主要关注格式 | 检查Java源文件是否与代码规范相符 | 主要包括: Javadoc注释 命名规范 多余没用的Imports Size度量,如过长的方法 缺少必要的空格Whitespace 重复代码 | 
Java-idea-FindBugs、PMD和CheckStyle对比的更多相关文章
- 提高代码质量 CheckStyle FindBugs PMD
		提高代码质量-工具篇 注:这是一篇翻译文章,原文:How to improve quality and syntax of your Android code,为了理解连贯,翻译过程中我修改了一些陈述 ... 
- 干货!Jenkins下配置findbugs、pmd及checkstyle实现代码自动检测
		配置前提: 对于maven项目来说,需要在pom.xml文件的<build><plugins>添加配置</plugins></build> 网上有些地方 ... 
- Jenkins安装和配置FindBugs、PMD、CheckStyle等插件
		最近研究Jenkins的常用插件的使用,主要使用FindBugs.PMD.CheckStyle.Violations.Emma等插件,主要参考了http://blog.csdn.net/dc_726/ ... 
- idea配置checkstyle/findbugs/pmd插件
		前提条件:工程已导入idea 一,Findbugs/PMD/CheckStyles插件安装 打开settings的plugins,点击查找FindBugs-IDEA/PMDPlugin/CheckSt ... 
- atitit.印度教与java宗教的特点与观念对比 attilax总结
		atitit.印度教与java宗教的特点与观念对比 attilax总结 1. Java就是一种宗教 1 2. Java的教义思想,社区理念,价值观念 2 2.1. 教学语言,类似与印度教的祭祀万能 2 ... 
- jenkins插件findbugs+pmd+checkstyle结合sonar与maven(java环境代码质量和代码规范管理)
		一.下载jdk并安装(最好jdk官网下载解压安装的) 二.下载maven并安装maven 三.安装jenkins及插件 安装checkstyle.pmd.findbugs.maven.sonar等相关 ... 
- IDEAL葵花宝典:java代码开发规范插件 checkstyle、visualVM、PMD 插件
		前言: visualVM: 运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配:某个对象占用了多大的内存,jvm调优必备工具. checkstyle: CheckS ... 
- 基于华为Java编程规范的Eclipse checkStyle.xml
		发现项目组成员代码规范存在较大的问题,于是就在华为编程规范的基础上制定了这份checkStyle.xml文档,至于Eclipse怎么安装checkStyle插件以及该插件怎么使用请自行Google之. ... 
- Java数据结构之表的增删对比---ArrayList与LinkedList之一
		一.Java_Collections表的实现 与c不同Java已经实现并封装了现成的表数据结构,顺序表以及链表. 1.ArrayList是基于数组的实现,因此具有的特点是:1.有索引值方便查找,对于g ... 
随机推荐
- Git 基础 - 查看提交历史
			查看提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源 ... 
- json格式的javascript对象用法分析
			格式: objectName = { property1:value1, property2:value2, …, propertyN:valueN } property是对象的属性 ,val ... 
- MathType使用中的四个小技巧
			MathType是一种比较常见的数学公式编辑器,常常与office搭配着使用,我们在使用的时候有一些要注意的小技巧,下面我们就来给大家介绍介绍MathType使用中的四个小技巧? 技巧一:调整工具栏显 ... 
- SPP-Net
			R-CNN -> SPP-Net -> Fast-RCNN 
- centos7下配置免密码登录
			主机master ,slaver1,slaver2 1.每台主机都执行 ssh-keygen -t rsa 然后一直回车 2.操作master.master生成公钥 放入authorized_keys ... 
- swift--使用 is 和 as 操作符来实现类型检查和转换 / AnyObject与Any的区别
			声明几个类: //动物类 class Animal{ } //陆地动物类 class terricole: Animal { } //海洋动物类 class SeaAnimals: Animal { ... 
- linux中的目录和文件的统计
			ls 目录 | wc -l find ./ -type d | wc -l //查找目录个数 find ./ -type f | wc -l ... 
- PyQt4将窗口放在屏幕中间
			以下脚本显示了将窗口放在屏幕中间位置的方法. #!/usr/bin/python # -*- coding:utf-8 -*- import sys from PyQt4 import QtGui c ... 
- .Net Core 使用EF Core方法
			新建项目后,使用NuGet安装包: Install-Package Microsoft.EntityFrameworkCore Install-Package Microsoft.EntityFram ... 
- MQTT的学习研究(四)moquette-mqtt 的使用之mqtt Blocking API客户端订阅并接收主题信息
			在上面两篇关于mqtt的broker的启动和mqtt的服务端发布主题信息之后,我们客户端需要订阅相关的信息并接收相关的主题信息. package com.etrip.mqtt; import java ... 
