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

  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. <module name="MethodParamPad"/>
  106. <module name="ModifierOrder">
  107. <message key="mod.order" value="''{0}'' 修饰符没有按照 JLS 的建议顺序."/>
  108. <message key="annotation.order" value="''{0}'' 注释修饰符不能在非注释修饰符前面."/>
  109. </module>
  110. <module name="RedundantModifier">
  111. <message key="redundantModifier" value="冗余 ''{0}'' 修饰符."/>
  112. </module>
  113. <module name="AvoidNestedBlocks">
  114. <property name="severity" value="warning"/>
  115. <property name="allowInSwitchCase" value="true"/>
  116. <message key="block.nested" value="避免代码块的嵌套"/>
  117. </module>
  118. <module name="StringLiteralEquality">
  119. <message key="string.literal.equality" value="字符串比较必须使用 equals(), 而不是 ''{0}''."/>
  120. </module>
  121. <module name="NestedIfDepth">
  122. <property name="severity" value="warning"/>
  123. <property name="max" value="3"/>
  124. <message key="nested.if.depth" value="if-else嵌套语句个数为 {0,number,integer} (最大允许嵌套语句个数为: {1,number,integer})."/>
  125. </module>
  126. <module name="NestedTryDepth">
  127. <property name="max" value="2"/>
  128. </module>
  129. <module name="SuperClone">
  130. <message key="missing.super.call" value="方法 ''{0}'' 需要调用 ''super.{0}''."/>
  131. </module>
  132. <module name="SuperFinalize">
  133. <message key="missing.super.call" value="方法 ''{0}'' 需要调用 ''super.{0}''."/>
  134. </module>
  135. <module name="IllegalCatch">
  136. <property name="illegalClassNames" value="java.lang.Exception"/>
  137. <message key="illegal.catch" value="Catching ''{0}'' 是不允许的."/>
  138. </module>
  139. <module name="PackageDeclaration">
  140. <message key="missing.package.declaration" value="缺少包的定义."/>
  141. <message key="package.dir.mismatch" value="包定义与目录名不匹配 ''{0}''."/>
  142. </module>
  143. <module name="ReturnCount">
  144. <property name="severity" value="warning"/>
  145. <property name="max" value="3"/>
  146. <property name="format" value="^$"/>
  147. <message key="return.count" value="Return 个数 {0,number,integer} (最大允许个数为: {1,number,integer})."/>
  148. </module>
  149. <module name="ParameterAssignment">
  150. <message key="parameter.assignment" value="参数赋值 ''{0}'' 是不允许的."/>
  151. </module>
  152. <module name="MultipleStringLiterals">
  153. <property name="severity" value="warning"/>
  154. </module>
  155. <module name="UnnecessaryParentheses"/>
  156. <module name="JavadocMethod">
  157. <property name="suppressLoadErrors" value="true"/>
  158. </module>
  159. </module>
  160. <module name="StrictDuplicateCode">
  161. <property name="min" value="8"/>
  162. <message key="duplicates.lines" value="从第 {2}开始,有{0}行相同代码 与 {1}中重复."/>
  163. </module>
  164. <module name="FileLength">
  165. <property name="severity" value="warning"/>
  166. <property name="max" value="1500"/>
  167. <message key="maxLen.file" value="文件 {0,number,integer} 行 (最大行数为: {1,number,integer})."/>
  168. </module>
  169. <module name="Translation">
  170. <message key="translation.missingKey" value="关键字 ''{0}'' 没找到."/>
  171. </module>
  172. </module>

checkstyle使用介绍的更多相关文章

  1. Eclipse插件checkstyle安装使用

    方法一:   1.Eclipse中,选择Help->Software Updates->Find and Install   2.选择 Search for new features to ...

  2. CheckStyle,定制属于自己的Java编码规范

    前言 如今,代码规范几乎是当下稍有追求的团队都要求做到的,但是对于Java编码规范,不同的公司或团队却有着不同的标准.尽管官方提供了一些标准,但是在基本规则的基础上,各大公司又有自己的规范,比如Sun ...

  3. jenkins+maven配置findbugs+checkstyle+pmd

    一.findbugs+checkstyle+pmd介绍 工具 目的 检查项 FindBugs 检查.class 基于Bug Patterns概念,查找javabytecode(.class文件)中的潜 ...

  4. 论减少代码中return语句的骚操作

    一.写作背景 最近组内在推行checkstyle代码规范的检测,关于checkstyle的介绍可以参考:https://checkstyle.sourceforge.io, 在按照checkstyle ...

  5. 提高代码质量 CheckStyle FindBugs PMD

    提高代码质量-工具篇 注:这是一篇翻译文章,原文:How to improve quality and syntax of your Android code,为了理解连贯,翻译过程中我修改了一些陈述 ...

  6. java开发常用jar包介绍(转载)

    jta.jar 标准JTA API必要 commons-collections.jar 集合类 必要 antlr.jar  ANother Tool for Language Recognition ...

  7. [原创]Java静态代码检查工具介绍

    [原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...

  8. 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装

    1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)复杂度分布(complexity):代码复杂度过高将 ...

  9. Eclipse插件checkstyle 代码风格的检查

    插件checkstyle 的安装 方法一:  1.Eclipse中,选择Help->Software Updates->Find and Install  2.选择 Search for ...

随机推荐

  1. emqx的acl.conf使用

    allow_anonymous=true就不说了,打开这个就像开了挂 现在讨论一下allow_anonymous=false,这样的话你会发现,client连接不上了 后来发现连接和权限 是两个事.. ...

  2. 【java多线程】synchronized和volatile

    文章目录 一.synchronized 1.synchronized使用的方法 2.注意 3.不要以字符串作为锁的对象 4.`synchronized`锁的是什么? 二.volatile 1.引出问题 ...

  3. Solr集群安装Version5.5.2(cloud模式)

    Solr安装cloud模式,基于Solr的安装版本为5.5.2. 安装规划 Solr IP/机器名 安装软件 运行进程 zdh-7 solr jar zdh-9 solr jar zookeeper ...

  4. Linux_grep命令

    搜索内容 命令格式如下 grep 参数 "搜索的内容" 搜索路径 注:搜索路径可缺省,缺省时,默认搜索当前目录以及其子目录下所有文件 显示文件名+内容: grep -r " ...

  5. python all用法记录

    all函数可以返回对象中是否所有元素均为True 代码如下:(此处仅做简单记录,日后不忙时再认真总结) >>> print(list(map(lambda x: True if x ...

  6. httprunner2.0 概述及使用说明

    一.概述 HttpRunner是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 二.系统流程 ...

  7. 安装KVM

    在VMWare安装CentOS7 选择图形界面和开发工具 设置网络 cd /etc/sysconfig/network-scripts/ vi ifcfg-ens33 BOOTPROTO=static ...

  8. Git Book PDF下载

    Download Git-Book

  9. 痞子衡嵌入式:我入选了2021年度与非网(eefocus)星选创作者Top10

    本周二「与非网」一个美女运营小姐姐加痞子衡微信,告知痞子衡评上了一个奖,让痞子衡把收件地址告诉她,她把证书寄过来. 昨天痞子衡收到了快递,拆开一看,原来是被评上了 与非网 2021 年度创作者,这个证 ...

  10. SpringBoot学习笔记一之本地环境基础搭建

    原文链接: https://www.toutiao.com/i6802935050196222471/ 工程创建 Maven创建工程 搜索maven找到project的创建 创建simple proj ...