checkstyle使用介绍
1、我下载的是checkstyle-5.5-bin.zip;下载地址
http://sourceforge.net/projects/checkstyle/files/
另一个是checkstyle的eclipse插件:net.sf.eclipsecs-updatesite_5.5.0.201111092104-bin.zip
下载地址:http://sourceforge.net/projects/eclipse-cs/?source=directory
2、下面我以介绍安装插件的checkstyle开始
1、打开eclipse
2、在help中选择install software
3、add 选择中刚才net.sf.eclipsecs-updatesite_5.5.0.201111092104-bin.zip
4、点击下一步
5、重启一下
3、打开eclipse,选择window->preferences->左边导航栏中Checkstyle,如果出现checkstyle说明你安装成功
4、然后你new一个
选择type:External configuration file
Name: 自己起一个名称
Location: 你自己配置的规则 我的叫做checkstyle.xml
点击确定
5、在你的项目,右键选择properties 找到checkstyle
选择你刚才自己配置的名称,并应用上即可
6、具体的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> <!--
This configuration file was written by the eclipse-cs plugin configuration editor
-->
<!--
Checkstyle-Configuration: check
Description: none
-->
<module name="Checker">
<property name="severity" value="error"/>
<property name="charset" value="UTF-8"/>
<message key="general.exception" value="有一个异常 - {0}"/>
<message key="general.fileNotFound" value="文件没找到!"/>
<module name="TreeWalker">
<property name="severity" value="error"/>
<property name="tabWidth" value="4"/>
<message key="general.exception" value="有一个异常 - {0}"/>
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
<message key="name.invalidPattern" value="包名 ''{0}'' 必须符合正则表达式 ''{1}''."/>
</module>
<module name="TypeName">
<message key="name.invalidPattern" value="名称 ''{0}'' 必须符合正则表达式 ''{1}''."/>
</module>
<module name="MethodName">
<property name="severity" value="warning"/>
<property name="format" value="(^[a-z][a-zA-Z0-9]{0,14}$)"/>
<message key="name.invalidPattern" value="名称 ''{0}''必须符合以下正则表达式 ''{1}''."/>
<message key="method.name.equals.class.name" value="名称 ''{0}'' 不能与内部类名称相同."/>
</module>
<module name="MemberName">
<message key="name.invalidPattern" value="名称 ''{0}'' 必须符合正则表达式 ''{1}''."/>
</module>
<module name="Indentation">
<message key="indentation.error" value="{0} 代码缩进 {1} 不正确, {2}"/>
<message key="indentation.child.error" value="{0} 子功能代码缩进 {1} 不正确, {2}"/>
</module>
<module name="RedundantThrows">
<property name="severity" value="warning"/>
<message key="redundant.throws.classInfo" value="没办法获得类信息 {0}."/>
<message key="redundant.throws.duplicate" value="冗余的 throws: ''{0}'' 使用了多次."/>
<message key="redundant.throws.subclass" value="冗余的 throws: ''{0}'' 是 ''{1}''的子类."/>
<message key="redundant.throws.unchecked" value="冗余的 throws: ''{0}'' 是运行时的异常."/>
</module>
<module name="MultipleVariableDeclarations">
<property name="severity" value="warning"/>
<message key="multiple.variable.declarations.comma" value="每一个变量的定义必须在它的声明处,且在同一行."/>
<message key="multiple.variable.declarations" value="每一行只能定义一个变量."/>
</module>
<module name="UpperEll">
<message key="upperEll" value="必须使用大写字母 ''L''."/>
</module>
<module name="ArrayTypeStyle">
<message key="array.type.style" value="数组中括号位置不对,建议如:String[] args."/>
</module>
<module name="ConstantName">
<message key="name.invalidPattern" value="名称 ''{0}'' 必须符合正则表达式 ''{1}''."/>
</module>
<module name="MagicNumber">
<property name="severity" value="warning"/>
<message key="magic.number" value="''{0}'' 是一个魔法数(即常数)."/>
</module>
<module name="NeedBraces">
<message key="needBraces" value="''{0}'' 结构必须要用大括号 '''{}'''s."/>
</module>
<module name="AvoidInlineConditionals">
<property name="severity" value="warning"/>
<message key="inline.conditional.avoid" value="避免内部条件语句,不易于代码阅读."/>
</module>
<module name="EmptyStatement">
<message key="empty.statement" value="空代码块."/>
</module>
<module name="ModifiedControlVariable"/>
<module name="ParameterNumber">
<property name="severity" value="warning"/>
<property name="max" value="5"/>
<property name="tokens" value="METHOD_DEF"/>
<message key="maxParam" value="超过 {0,number,integer} 参数."/>
</module>
<module name="JavadocType">
<property name="authorFormat" value="\S"/>
<message key="type.missingTag" value="注解缺少 {0} tag."/>
<message key="javadoc.missing" value="缺少注解"/>
<message key="javadoc.unusedTagGeneral" value="不使用的注解tag"/>
<message key="type.tagFormat" value="注解tag {0} 必须符合正则表达式 ''{1}''."/>
</module>
<module name="ParameterName">
<message key="name.invalidPattern" value="名称 ''{0}'' 必须符合正则表达式 ''{1}''."/>
</module>
<module name="UnusedImports">
<message key="import.unused" value="没被使用过 import - {0}."/>
</module>
<module name="LineLength">
<property name="max" value="120"/>
<message key="maxLineLen" value="行字符数超过 {0,number,integer} 个."/>
</module>
<module name="MethodLength">
<property name="max" value="40"/>
<property name="tokens" value="METHOD_DEF"/>
<message key="maxLen.method" value="方法长度 {0,number,integer} 行 (最大允许行数为 {1,number,integer})."/>
</module> <module name="MethodParamPad"/>
<module name="ModifierOrder">
<message key="mod.order" value="''{0}'' 修饰符没有按照 JLS 的建议顺序."/>
<message key="annotation.order" value="''{0}'' 注释修饰符不能在非注释修饰符前面."/>
</module>
<module name="RedundantModifier">
<message key="redundantModifier" value="冗余 ''{0}'' 修饰符."/>
</module>
<module name="AvoidNestedBlocks">
<property name="severity" value="warning"/>
<property name="allowInSwitchCase" value="true"/>
<message key="block.nested" value="避免代码块的嵌套"/>
</module>
<module name="StringLiteralEquality">
<message key="string.literal.equality" value="字符串比较必须使用 equals(), 而不是 ''{0}''."/>
</module>
<module name="NestedIfDepth">
<property name="severity" value="warning"/>
<property name="max" value="3"/>
<message key="nested.if.depth" value="if-else嵌套语句个数为 {0,number,integer} (最大允许嵌套语句个数为: {1,number,integer})."/>
</module>
<module name="NestedTryDepth">
<property name="max" value="2"/>
</module>
<module name="SuperClone">
<message key="missing.super.call" value="方法 ''{0}'' 需要调用 ''super.{0}''."/>
</module>
<module name="SuperFinalize">
<message key="missing.super.call" value="方法 ''{0}'' 需要调用 ''super.{0}''."/>
</module>
<module name="IllegalCatch">
<property name="illegalClassNames" value="java.lang.Exception"/>
<message key="illegal.catch" value="Catching ''{0}'' 是不允许的."/>
</module>
<module name="PackageDeclaration">
<message key="missing.package.declaration" value="缺少包的定义."/>
<message key="package.dir.mismatch" value="包定义与目录名不匹配 ''{0}''."/>
</module>
<module name="ReturnCount">
<property name="severity" value="warning"/>
<property name="max" value="3"/>
<property name="format" value="^$"/>
<message key="return.count" value="Return 个数 {0,number,integer} (最大允许个数为: {1,number,integer})."/>
</module>
<module name="ParameterAssignment">
<message key="parameter.assignment" value="参数赋值 ''{0}'' 是不允许的."/>
</module>
<module name="MultipleStringLiterals">
<property name="severity" value="warning"/>
</module>
<module name="UnnecessaryParentheses"/>
<module name="JavadocMethod">
<property name="suppressLoadErrors" value="true"/>
</module>
</module>
<module name="StrictDuplicateCode">
<property name="min" value="8"/>
<message key="duplicates.lines" value="从第 {2}开始,有{0}行相同代码 与 {1}中重复."/>
</module>
<module name="FileLength">
<property name="severity" value="warning"/>
<property name="max" value="1500"/>
<message key="maxLen.file" value="文件 {0,number,integer} 行 (最大行数为: {1,number,integer})."/>
</module>
<module name="Translation">
<message key="translation.missingKey" value="关键字 ''{0}'' 没找到."/>
</module>
</module>
checkstyle使用介绍的更多相关文章
- Eclipse插件checkstyle安装使用
方法一: 1.Eclipse中,选择Help->Software Updates->Find and Install 2.选择 Search for new features to ...
- CheckStyle,定制属于自己的Java编码规范
前言 如今,代码规范几乎是当下稍有追求的团队都要求做到的,但是对于Java编码规范,不同的公司或团队却有着不同的标准.尽管官方提供了一些标准,但是在基本规则的基础上,各大公司又有自己的规范,比如Sun ...
- jenkins+maven配置findbugs+checkstyle+pmd
一.findbugs+checkstyle+pmd介绍 工具 目的 检查项 FindBugs 检查.class 基于Bug Patterns概念,查找javabytecode(.class文件)中的潜 ...
- 论减少代码中return语句的骚操作
一.写作背景 最近组内在推行checkstyle代码规范的检测,关于checkstyle的介绍可以参考:https://checkstyle.sourceforge.io, 在按照checkstyle ...
- 提高代码质量 CheckStyle FindBugs PMD
提高代码质量-工具篇 注:这是一篇翻译文章,原文:How to improve quality and syntax of your Android code,为了理解连贯,翻译过程中我修改了一些陈述 ...
- java开发常用jar包介绍(转载)
jta.jar 标准JTA API必要 commons-collections.jar 集合类 必要 antlr.jar ANother Tool for Language Recognition ...
- [原创]Java静态代码检查工具介绍
[原创]Java静态代码检查工具介绍 一 什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...
- 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装
1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)复杂度分布(complexity):代码复杂度过高将 ...
- Eclipse插件checkstyle 代码风格的检查
插件checkstyle 的安装 方法一: 1.Eclipse中,选择Help->Software Updates->Find and Install 2.选择 Search for ...
随机推荐
- Spring Boot程序接收命令行参数
Spring Boot程序接收命令行参数 输入一行,回车,触发一次.如果想要调用service层,也是可以,能调用service层,就可以做很多事,触发一次就好比调用了一次http接口一样 packa ...
- 解决eclipse中Findbugs检查不生效的问题
eclipse安装了Findbugs插件, 但是在eclipse中发现不了bug错误, 具体表现为指定的类存在findbugs, 已经通过其他工具检查出来, 但是在eclipse中就是无法报告错误. ...
- hexo 升级5.4.0出现错误解决方法-hexo-theme-butterfly
本篇文章已同步个人博客,可移步食用.hexo 升级 5.4.0 出现错误解决方法 -hexo-theme-butterfly 周末升级了下 hexo 到新版本,发现升级后,构建时出现了一些错误,以下是 ...
- js 模块化 -- export 时 一个默认和多个默认的写法
js文件 只有一个 food 类,一般写 export {food} 或者 export {food as default} 那么如果有多个呢? 这样 export {food, food2} 或者 ...
- react中create-react-app配置antd按需加载(方法二)
1.yarn add babel-plugin-import 2.在根目录下的package.json下的bable中添加相应代码 "babel": { "presets ...
- Linux上天之路(十二)之服务管理
主要内容 服务介绍 独立服务 非独立服务 1. 服务介绍 服务:常驻在内存中的程序,且可以提供一些系统或网络功能,那就是服务. 计算机中的系统服务有很多,比如: apache提供web服务 ftp提供 ...
- Yum安装Maven
一.安装 wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum. ...
- 记一次 WinDbg 分析 .NET 某工厂MES系统 内存泄漏分析
一:背景 1. 讲故事 上个月有位朋友加微信求助,说他的程序跑着跑着就内存爆掉了,寻求如何解决,截图如下: 从聊天内容看,这位朋友压力还是蛮大的,话说这貌似是我分析的第三个 MES 系统了,看样子 . ...
- linux服务器之间传输文件的四种方式
linux文件传输在内网渗透中至关重要,所以我在此总结一下几种Linux服务器之间传输文件的四种方式 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法]scp就是se ...
- Keil MDK STM32系列(九) 基于HAL和FatFs的FAT格式SD卡TF卡读写
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...