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、具体的配置文件如下:

Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">  
  3.   
  4. <!--  
  5.     This configuration file was written by the eclipse-cs plugin configuration editor  
  6. -->  
  7. <!--  
  8.     Checkstyle-Configuration: check  
  9.     Description: none  
  10. -->  
  11. <module name="Checker">  
  12.   <property name="severity" value="error"/>  
  13.   <property name="charset" value="UTF-8"/>  
  14.   <message key="general.exception" value="有一个异常 - {0}"/>  
  15.   <message key="general.fileNotFound" value="文件没找到!"/>  
  16.   <module name="TreeWalker">  
  17.     <property name="severity" value="error"/>  
  18.     <property name="tabWidth" value="4"/>  
  19.     <message key="general.exception" value="有一个异常 - {0}"/>  
  20.     <module name="PackageName">  
  21.       <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>  
  22.       <message key="name.invalidPattern" value="包名 ''{0}'' 必须符合正则表达式 ''{1}''."/>  
  23.     </module>  
  24.     <module name="TypeName">  
  25.       <message key="name.invalidPattern" value="名称 ''{0}'' 必须符合正则表达式 ''{1}''."/>  
  26.     </module>  
  27.     <module name="MethodName">  
  28.       <property name="severity" value="warning"/>  
  29.       <property name="format" value="(^[a-z][a-zA-Z0-9]{0,14}$)"/>  
  30.       <message key="name.invalidPattern" value="名称 ''{0}''必须符合以下正则表达式 ''{1}''."/>  
  31.       <message key="method.name.equals.class.name" value="名称 ''{0}'' 不能与内部类名称相同."/>  
  32.     </module>  
  33.     <module name="MemberName">  
  34.       <message key="name.invalidPattern" value="名称 ''{0}'' 必须符合正则表达式 ''{1}''."/>  
  35.     </module>  
  36.     <module name="Indentation">  
  37.       <message key="indentation.error" value="{0} 代码缩进 {1} 不正确, {2}"/>  
  38.       <message key="indentation.child.error" value="{0} 子功能代码缩进 {1} 不正确, {2}"/>  
  39.     </module>  
  40.     <module name="RedundantThrows">  
  41.       <property name="severity" value="warning"/>  
  42.       <message key="redundant.throws.classInfo" value="没办法获得类信息 {0}."/>  
  43.       <message key="redundant.throws.duplicate" value="冗余的 throws: ''{0}'' 使用了多次."/>  
  44.       <message key="redundant.throws.subclass" value="冗余的 throws: ''{0}'' 是 ''{1}''的子类."/>  
  45.       <message key="redundant.throws.unchecked" value="冗余的 throws: ''{0}'' 是运行时的异常."/>  
  46.     </module>  
  47.     <module name="MultipleVariableDeclarations">  
  48.       <property name="severity" value="warning"/>  
  49.       <message key="multiple.variable.declarations.comma" value="每一个变量的定义必须在它的声明处,且在同一行."/>  
  50.       <message key="multiple.variable.declarations" value="每一行只能定义一个变量."/>  
  51.     </module>  
  52.     <module name="UpperEll">  
  53.       <message key="upperEll" value="必须使用大写字母 ''L''."/>  
  54.     </module>  
  55.     <module name="ArrayTypeStyle">  
  56.       <message key="array.type.style" value="数组中括号位置不对,建议如:String[] args."/>  
  57.     </module>  
  58.     <module name="ConstantName">  
  59.       <message key="name.invalidPattern" value="名称 ''{0}'' 必须符合正则表达式 ''{1}''."/>  
  60.     </module>  
  61.     <module name="MagicNumber">  
  62.       <property name="severity" value="warning"/>  
  63.       <message key="magic.number" value="''{0}'' 是一个魔法数(即常数)."/>  
  64.     </module>  
  65.     <module name="NeedBraces">  
  66.       <message key="needBraces" value="''{0}'' 结构必须要用大括号 '''{}'''s."/>  
  67.     </module>  
  68.     <module name="AvoidInlineConditionals">  
  69.       <property name="severity" value="warning"/>  
  70.       <message key="inline.conditional.avoid" value="避免内部条件语句,不易于代码阅读."/>  
  71.     </module>  
  72.     <module name="EmptyStatement">  
  73.       <message key="empty.statement" value="空代码块."/>  
  74.     </module>  
  75.     <module name="ModifiedControlVariable"/>  
  76.     <module name="ParameterNumber">  
  77.       <property name="severity" value="warning"/>  
  78.       <property name="max" value="5"/>  
  79.       <property name="tokens" value="METHOD_DEF"/>  
  80.       <message key="maxParam" value="超过 {0,number,integer} 参数."/>  
  81.     </module>  
  82.     <module name="JavadocType">  
  83.       <property name="authorFormat" value="\S"/>  
  84.       <message key="type.missingTag" value="注解缺少 {0} tag."/>  
  85.       <message key="javadoc.missing" value="缺少注解"/>  
  86.       <message key="javadoc.unusedTagGeneral" value="不使用的注解tag"/>  
  87.       <message key="type.tagFormat" value="注解tag {0} 必须符合正则表达式 ''{1}''."/>  
  88.     </module>  
  89.     <module name="ParameterName">  
  90.       <message key="name.invalidPattern" value="名称 ''{0}'' 必须符合正则表达式 ''{1}''."/>  
  91.     </module>  
  92.     <module name="UnusedImports">  
  93.       <message key="import.unused" value="没被使用过 import - {0}."/>  
  94.     </module>  
  95.     <module name="LineLength">  
  96.       <property name="max" value="120"/>  
  97.       <message key="maxLineLen" value="行字符数超过 {0,number,integer} 个."/>  
  98.     </module>  
  99.     <module name="MethodLength">  
  100.       <property name="max" value="40"/>  
  101.       <property name="tokens" value="METHOD_DEF"/>  
  102.       <message key="maxLen.method" value="方法长度 {0,number,integer} 行 (最大允许行数为 {1,number,integer})."/>  
  103.     </module>  
  104.   
  105.       
  106.     <module name="MethodParamPad"/>  
  107.     <module name="ModifierOrder">  
  108.       <message key="mod.order" value="''{0}'' 修饰符没有按照 JLS 的建议顺序."/>  
  109.       <message key="annotation.order" value="''{0}'' 注释修饰符不能在非注释修饰符前面."/>  
  110.     </module>  
  111.     <module name="RedundantModifier">  
  112.       <message key="redundantModifier" value="冗余 ''{0}'' 修饰符."/>  
  113.     </module>  
  114.     <module name="AvoidNestedBlocks">  
  115.       <property name="severity" value="warning"/>  
  116.       <property name="allowInSwitchCase" value="true"/>  
  117.       <message key="block.nested" value="避免代码块的嵌套"/>  
  118.     </module>  
  119.     <module name="StringLiteralEquality">  
  120.       <message key="string.literal.equality" value="字符串比较必须使用 equals(), 而不是 ''{0}''."/>  
  121.     </module>  
  122.     <module name="NestedIfDepth">  
  123.       <property name="severity" value="warning"/>  
  124.       <property name="max" value="3"/>  
  125.       <message key="nested.if.depth" value="if-else嵌套语句个数为 {0,number,integer} (最大允许嵌套语句个数为: {1,number,integer})."/>  
  126.     </module>  
  127.     <module name="NestedTryDepth">  
  128.       <property name="max" value="2"/>  
  129.     </module>  
  130.     <module name="SuperClone">  
  131.       <message key="missing.super.call" value="方法 ''{0}'' 需要调用 ''super.{0}''."/>  
  132.     </module>  
  133.     <module name="SuperFinalize">  
  134.       <message key="missing.super.call" value="方法 ''{0}'' 需要调用 ''super.{0}''."/>  
  135.     </module>  
  136.     <module name="IllegalCatch">  
  137.       <property name="illegalClassNames" value="java.lang.Exception"/>  
  138.       <message key="illegal.catch" value="Catching ''{0}'' 是不允许的."/>  
  139.     </module>  
  140.     <module name="PackageDeclaration">  
  141.       <message key="missing.package.declaration" value="缺少包的定义."/>  
  142.       <message key="package.dir.mismatch" value="包定义与目录名不匹配 ''{0}''."/>  
  143.     </module>  
  144.     <module name="ReturnCount">  
  145.       <property name="severity" value="warning"/>  
  146.       <property name="max" value="3"/>  
  147.       <property name="format" value="^$"/>  
  148.       <message key="return.count" value="Return 个数 {0,number,integer} (最大允许个数为: {1,number,integer})."/>  
  149.     </module>  
  150.     <module name="ParameterAssignment">  
  151.       <message key="parameter.assignment" value="参数赋值 ''{0}'' 是不允许的."/>  
  152.     </module>  
  153.     <module name="MultipleStringLiterals">  
  154.       <property name="severity" value="warning"/>  
  155.     </module>  
  156.     <module name="UnnecessaryParentheses"/>  
  157.     <module name="JavadocMethod">  
  158.       <property name="suppressLoadErrors" value="true"/>  
  159.     </module>  
  160.   </module>  
  161.   <module name="StrictDuplicateCode">  
  162.     <property name="min" value="8"/>  
  163.     <message key="duplicates.lines" value="从第 {2}开始,有{0}行相同代码 与 {1}中重复."/>  
  164.   </module>  
  165.   <module name="FileLength">  
  166.     <property name="severity" value="warning"/>  
  167.     <property name="max" value="1500"/>  
  168.     <message key="maxLen.file" value="文件 {0,number,integer} 行 (最大行数为: {1,number,integer})."/>  
  169.   </module>  
  170.   <module name="Translation">  
  171.     <message key="translation.missingKey" value="关键字 ''{0}'' 没找到."/>  
  172.   </module>  
  173. </module>  
 

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值