`

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>
 

 

这里面你可以自己写一个类。。。


<!--[endif]-->

分享到:
评论
2 楼 随风柳絮 2014-08-25  
很实用,谢谢!
1 楼 abc382410124 2013-11-14  
直接复制可以用,谢了

相关推荐

    Checkstyle 使用手册 以及常用方法

    这个"Checkstyle 使用手册 以及常用方法"涵盖了Checkstyle的基本使用和一些常见功能的详细解释。 首先,了解如何配置和运行Checkstyle至关重要。Checkstyle可以通过命令行、IDE插件(如Eclipse、IntelliJ IDEA)...

    Checkstyle的安装文件和使用说明

    本指南将详细介绍Checkstyle的安装过程、配置方法以及如何在项目中使用它。 首先,要安装Checkstyle,你需要从其官方网站或者通过Maven仓库下载最新版本的Checkstyle jar文件。这个文件通常命名为`checkstyle-x.x.x...

    CheckStyle使用说明.pdf

    CheckStyle有多种使用方式,本篇主要介绍如何在Eclipse中安装并使用CheckStyle插件: 1. **下载地址**:可以从官方网站或第三方镜像站点下载CheckStyle插件,例如:[http://eclipse-cs.sourceforge.net/]...

    MyEclipse安装和使用checkstyle详解

    本文将详细介绍如何在MyEclipse中安装和使用Checkstyle。 一、安装Checkstyle 1. 下载Checkstyle插件:首先,需要访问Checkstyle的官方网站(http://checkstyle.sourceforge.net/)下载最新版本的Checkstyle jar...

    CheckStyle使用手册

    这篇使用手册将深入介绍CheckStyle的功能、配置以及如何在实际开发中应用。 1. **CheckStyle的基本概念** CheckStyle是一个静态代码分析工具,它通过解析Java源代码来查找不符合编程规范的部分,例如不正确的命名...

    CheckStyle中文文档

    通过使用CheckStyle,开发团队可以减少代码审查的工作量,提高代码质量,并降低维护成本。这款工具能够检查出代码中的常见错误,如不一致的命名约定、未使用的变量、不必要的导入等。 CheckStyle的中文文档对于中国...

    Eclipse 中CheckStyle安装和使用(转)

    本篇文章将详细介绍如何在Eclipse中安装和使用CheckStyle。 一、CheckStyle简介 CheckStyle是一款开源的代码检查工具,它能够根据预定义的编码规范对Java源代码进行检查,找出不符合规范的地方,帮助开发者遵循一致...

    checkstyle导入阿里巴巴规范流程

    本篇文章将详细介绍如何将阿里巴巴的编码规范引入到Checkstyle中,实现一键代码格式化。 首先,你需要下载Checkstyle的最新版本,通常可以从其官方网站或GitHub仓库获取。这是一个Java库,可以集成到各种IDE(如...

    Checkstyle

    介绍 Checkstyle是一个开发工具,可以帮助编程人员编写符合编码规范的java 代码 。程序员都非常讨厌程序的check工作,checkstyle能够自动地完成这项烦琐但又非常重要的工作 ,从而节省了的程序员的时间,也提高了...

    checkstyle中文帮助文档

    4. **N分钟入门**:快速入门指南通常会介绍如何配置Checkstyle,如何运行检查,并解释如何处理检查结果。 5. **在Ant中使用Checkstyle**:Ant是Java项目常用的构建工具,Checkstyle可以通过Ant任务进行集成。配置...

    Findbugs Checkstyle Jupiter使用说明

    FindBugs Checkstyle Jupiter 使用说明 FindBugs 是一个静态代码分析工具,用于检测 Java 代码中的错误和不良编程实践。它可以帮助开发者在编码过程中发现问题,从而提高代码质量。 FindBugs 使用说明 FindBugs ...

    findbugs和Checkstyle安装包

    同时,也可以配置每个项目以使用特定的Checkstyle配置文件(如`Checkstyle.txt`),以适应项目的编码规范。 在实际开发中,结合FindBugs和Checkstyle可以显著提高代码质量,减少bug的出现,提升团队间的协作效率。...

    eclipse离线安装checkStyle插件--附带插件安装包

    本文将详细介绍如何在Eclipse中进行CheckStyle插件的离线安装,以及为何选择离线安装方式。 首先,我们来理解为何要使用CheckStyle插件。CheckStyle提供了一套可定制的编程规则,包括命名规范、注释规范、代码结构...

    checkstyle-idea,intellij idea的checkstyle插件.zip

    本文将详细介绍IntelliJ IDEA的Checkstyle插件及其使用方法。 Checkstyle插件是基于Checkstyle项目的一个IDE集成,它可以在开发过程中实时检测代码是否符合预设的编码规范。这个插件的压缩包名为"checkstyle-idea-...

    代码走查工具CheckStyle插件的安装和使用

    本篇文章将详细介绍CheckStyle插件的安装与使用。 **一、CheckStyle简介** CheckStyle是一款静态代码分析工具,它通过读取源代码并检查其中的格式、命名约定以及编程错误,来确保代码的一致性和可维护性。...

    checkstyle

    本文档将详细介绍如何在 Eclipse 中安装和使用 CheckStyle 插件。 #### 二、安装步骤 1. **下载插件**:首先需要获取 CheckStyle 的安装包,通常可以从官方或其他可信源下载。 2. **安装插件**:打开 Eclipse 后,...

    checkStyle插件安装及说明

    本文将详细介绍如何安装并使用CheckStyle插件。 **一、CheckStyle简介** CheckStyle是一个静态代码分析工具,通过检查源代码来确保其符合预设的编码规范。这些规范可能包括命名约定、注释要求、代码结构等。...

    Ant工程checkstyle编写(代码检测)

    本篇将详细介绍如何在Ant工程中配置和使用Checkstyle进行代码检测。 首先,我们需要理解Ant的基本概念。Apache Ant是一个基于Java的任务驱动构建系统,它允许开发者通过XML配置文件定义任务来构建、测试和部署项目...

    eclipse_checkstyle代码规范安装

    本教程将详细介绍如何在Eclipse集成开发环境中安装并使用Checkstyle插件,以确保代码质量。 首先,我们需要了解什么是Eclipse Checkstyle。Eclipse Checkstyle是一个开源项目,它提供了一种方式来检查Java源代码...

Global site tag (gtag.js) - Google Analytics