IDEAL葵花宝典:java代码开发规范插件 checkstyle、visualVM、PMD 插件
前言:
visualVM:
运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配;某个对象占用了多大的内存,jvm调优必备工具。
checkstyle:
CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。
它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。
CheckStyle检验的主要内容:
1):Javadoc注释; 2):命名约定; 3):·标题 4): Import语句 ; 5):体积大小; 6):空白; 7):修饰符; 8):块; 9):代码问题; 10):类设计
混合检查(包括一些有用的比如非必须的System.out和printstackTrace)
从上面可以看出,CheckStyle提供了大部分功能都是对于代码规范的检查,而没有提供像PMD和Jalopy那么多的增强代码质量和修改代码的功能。
但是,对于团队开发,尤其是强调代码规范的公司来说,它的功能已经足够强大。
PMD:
PMD是扫描 Java 源码并查找以下潜在问题:
1):从未用过的局部变量
2):空捕捉块(catch block)
3):从未用过的参数
4):空if声明
5):重复的导入声明
6):从未用过的私有方法
7):孤立的类
8):短型或长型变量及方法名
PMD 具有下列软件的插件:JEdit, JBuilder, NetBeans/Sun ONE Studio, IntelliJ IDEA, TextPad, Maven, Ant, Eclipse, Gel, Emacs
PMD 的含义:
坦率地说,我们其实也不知道PMD的真正意义所在 (我们只是认为这三个字母拼在一起较为好听) 。但是,我们提出了计算行业的几种解释以供参考。
PMD:
Pretty Much Done (几乎无所不能)
Project Mess Detector (项目故障探测器)
Project Monitoring Directives (项目监视器)
Protein Mutant Database (基因突变数据库)
Project Meets Deadline (项目到期)
Programming Mistake Detector (程序错误检测器)
Pounds Mistakes Dead (彻底纠错)
PMD Meaning Discovery (PMD含义探索)
PMD运行机制:
PMD 根据规则核对源码并产生一个报告。具体如下:
有文件名和RuleSet传入PMD ;PMD将通过该文件的InputStream传递给由JavaCC-生成的解析器 ;PMD 从解析器取得指向抽象语法树(AST)的引用;RuleSet 中的每个规则都遍历AST 并检查错误
报告内容包括RuleViolations以及符合XML 、HTML 或其它格式的代码/文件
安装步骤:
到这里我们默认已经完成了3个插件的安装。
checkstyle,PMD,都可以直接使用,但VsiualVM需要配合客户端来完成配置和使用。
下面先去官网下载VisualVM的客户端。VisualVM官网链接
配置连接过程如下:
在打开的页面内选择已经解压好的文件夹中的bin文件夹内的"VisualVM.exe"
visualVM:使用操作
1):在代码编辑区点击右键,如图选择
这时会触发VisualVM客户端,可以观察项目内的性能使用情况
checkstyle:使用操作
1):.安装完之后,我们打开checkstyles,点击绿色箭头
2):出现提示"No rules file has been configured",这是提醒我们没有为其指定配置文件,它不知道应该按照什么标准来评判代码的风格
3):解决办法:打开settings->Other Settings->Checkstyle ,选定默认的配置文件。
---------------------- 后续补全 ----------------------
PMD:使用步骤
1):在代码编辑区点击右键,根据项目不同选择不同的检查规则集
2):在下方按照不同规则集显示出不同位置的错误,通过规则名就可以得知代码的问题类型
--------------------------------------------------------------------------------
以上内容若有不足之处:请多多请教
如要转载请注明小编本站地址:(https://www.cnblogs.com/mlq2017/)
IDEAL葵花宝典:java代码开发规范插件 checkstyle、visualVM、PMD 插件的更多相关文章
- JAVA 代码开发规范
一.开发工具规范: 1. 开发工具经项目负责人调试后统一确定. 2. 开发工具一经确定不允许集成任何非统一插件,若有需要,经项目负责人同意后统一为 项目组成员添加. 3. 开发工具的编码格式不允许修改 ...
- IDEAL葵花宝典:java代码开发规范插件 p3c
前言: P3C插件 是阿里巴巴p3c项目组进行研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,根据<阿里巴巴Java开发规范>转化而成的自动化插件,并且实现了部分自动编程. ...
- IDEAL葵花宝典:java代码开发规范插件 lombok 插件
前言: lombok简介: lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. 那么 ...
- IDEAL葵花宝典:java代码开发规范插件:GsonFormat插件将JSONObject格式的String 解析成实体
前言: GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 这个教程主要是学习IntelliJ IDEA ...
- IDEAL葵花宝典:java代码开发规范插件 Rainbow Brackets 插件
前言: 最近在Jetbrains IDEA插件网站逛发现了 Rainbow Brackets这款插件,非常棒,推荐给大家. 可以实现配对括号相同颜色,并且实现选中区域代码高亮的功能. 对增强写代码的有 ...
- IDEAL葵花宝典:java代码开发规范插件 GenerateAllSetter、ECtranslation、translation、插件
前言: GenerateAllSetter: 我们在程序开发过程中,往往要编写这样的类:类的部分或者全部属性不希望让外部世界直接访问,而不用public字段修饰.这样,方法调用成了访问这些属性的唯一 ...
- IDEAL葵花宝典:java代码开发规范插件 FindBugs-IDEA
前言: 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多,写完代码后检测下 避免低级bug,强烈建议用一下,一不小心就发现很多老代码的bug. 使用步骤: 1):打开 Settings ...
- IDEAL葵花宝典:java代码开发规范插件 (maven helper)解决maven 包冲突的问题
小编说到: 在我们日常开发当中常常我们会遇到JAR包冲突.找来找去还找不到很是烦人.那么所谓的JAR包冲突是指的什么那?JAR包冲突就是-引入的同一个JAR包却有好几个版本. 例如: 项目中引用了两个 ...
- java代码开发完成后,代码走查规范
代码走查注意事项: 1.不变的值,尽量写个常量类 2.尽量使用if{}else,不要一直if去判断 3.减少循环调用方法查询数据库 4.dao层尽量不要用逻辑,尽量在service里写业务逻辑 5.金 ...
随机推荐
- linux 系统时间硬件时间同步
1.设置系统时间:date-s 21/05/2016 date -s 08:21:21 2.系统时间同步到硬件时间: clock --systohc
- vue.js+koa2项目实战(二)创建 HeadBar 组件
elementUI界面布局 1.创建 HeadBar 组件 HeadBar.vue <template> <el-row> <el-col :span="2&q ...
- HttpClient 模拟登录网易微博
实现核心:代码执行流程,根据抓包工具,模拟浏览器请求步骤走 private static void testLogin() { try ...
- 我是这样使用template.js来异步渲染数据的demo
直接来代码吧! <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- Linux系统运维之路
九月份开始,半年内搞定运维,博客会慢慢的更新,vim编辑器,Nginx配置文件优化 运维基础 运维基础-Linux发展史.安装.基本操作 运维基础-用户和组管理 运维基础-文件权限管理 运维基础-进程 ...
- Centos 7 远程桌面客户端
在centos下面要远程连接windows,有人说用rdesktop,但是好像centos 7没有,对从源代码编译也不大感兴趣. 幸好还有人提醒, https://geekblood.com/2014 ...
- Nginx性能测试
环境:Centos 7.0 Nginx 1.6.2 测试工具:siege 3.0.7 配置1: I3-3110M 4G 测试1(100用户,1000请求): 平均响应:0.06s 并发数:59.19 ...
- nginx配置1:借助Nginx搭建反向代理服务器与缓存静态文件
修改配置文件nginx.conf (1)进程数与每个进程的最大连接数: •nginx进程数,建议设置为等于CPU总核心数 •单个进程最大连接数,那么该服务器的最大连接数=连接数*进程数 (2)Ngin ...
- 06 php 单例模式
一:单例模式的三大原则 (1)构造函数需要标记为非public(防止外部使用new操作符创建对象),单例类不能在其他类中实例化,只能被自身实例化. (2)拥有一个保存类的实例的静态成员变量$_inst ...
- javascript的defer和async(转载)
http://ued.ctrip.com/blog/?p=3121 我们常用的javascript标签,有两个和性能.js文件下载执行相关的属性:defer和async defer的含义[摘自http ...