简单介绍

checkStyle是一款代码格式检查工具。它依据设置好的编码规则来自己主动检查代码。比方命名规范,文件长度。代码行长度等等。代码检查工具是保证项目代码质量、统一编码风格的一种重要途径。本篇博客主要讲讲使用checkStyle的检查规则的陪置。

安装

方法一:

      1. Eclipse中,选择Help->Software Updates->Find and Install
      2. 选择 Search for new features to install 选择Next
      3. 选择 New Remote Site
      4. 输入更新地址:http://eclipse-cs.sourceforge.net/update
      5. 安装后重新启动就可以

方法二:

1.下载eclipse插件:http://sourceforge.net/projects/eclipse-cs/

下载后。把里面的两个文件夹plugins和 features以下的文件分别复制到eclipse文件夹以下相应的plugins和features文件夹

2.假设你就这样直接启动eclipse 可能会出现ClassNotFoundExceptions 等错误,所以必须在启动eclipse的时候加上一个參数 -clean. 这样eclipse就能够更新它当前安装的很多插件信息

比方你得eclipse在d盘 那么就是 d:\eclipse\eclipse.exe -clean

Checkstyle的陪置文件导入

点击“Window”->“Preferences”菜单。在弹出窗体左側点击“Checkstyle”,可看到右側默认选中的是“Sun Checks”检查规则。由于该规则要求比較严格,并且不适合本研发中心。所以须要自己定义检查文件。点击“New”button后,弹出“Check Configuration Properties”窗体。例如以下图所看到的:

在上图中选择“Type”为“External Configuration File”(外部配置文件)。在“Location”行点击“Browse”button浏览选择checkstyle的配置文件。比如eclipse_checkstyle.xml文件(仅供參考。可自行定义),并输入“Name”行的值。比如“eclipse_checkstyle”,点击“OK”button完毕导入操作。回到Checkstyle主页面选择刚才加入的文件,点击“Set As Default”将其设置为默认checkstyle检查文件。

陪置具体解释

  1. <module name="Checker">
  2.  
  3. <!-- 消息提示等级 -->
  4. <property name="severity" value="warning"/>
  5. <!-- 字符集限制 -->
  6. <property name="charset" value="UTF-8"/>
  7.  
  8. <module name="TreeWalker">
  9.  
  10. <!-- javadoc的检查 -->
  11. <!-- 检查全部的interface和class -->
  12. <module name="JavadocType"/>
  13.  
  14. <!-- 检查全部方法的javadoc,能够不声明RuntimeException -->
  15. <module name="JavadocMethod">
  16. <property name="allowUndeclaredRTE" value="true"/>
  17. <property name="allowMissingPropertyJavadoc" value="true"/>
  18. </module>
  19. <!-- 检查变量的javadoc -->
  20. <module name="JavadocVariable">
  21. <property name="scope" value="public"/>
  22. </module>
  23.  
  24. <!-- 命名方面的检查。它们都使用了Sun官方定的规则。
  25.  
  26. -->
  27. <!-- 类名(class 或interface) 的检查 -->
  28. <module name="TypeName"/>
  29. <!-- 变量的检查 -->
  30. <module name="MemberName"/>
  31. <!-- 方法名的检查 -->
  32. <module name="MethodName"/>
  33. <!-- 方法的參数名 -->
  34. <module name="ParameterName "/>
  35. <!-- 常量名的检查 -->
  36. <module name="ConstantName"/>
  37.  
  38. <!-- 长度方面的检查 -->
  39. <!-- 文件长度不超过1500行 -->
  40.  
  41. <!-- 每行不超过120个字-->
  42. <module name="LineLength">
  43. <property name="max" value="120"/>
  44. </module>
  45. <!-- 方法不超过30行 -->
  46. <module name="MethodLength">
  47. <property name="tokens" value="METHOD_DEF"/>
  48. <property name="max" value="30"/>
  49. </module>
  50. <!-- 方法的參数个数不超过3个。 -->
  51. <module name="ParameterNumber">
  52. <property name="max" value="3"/>
  53. </module>
  54.  
  55. <!-- 多余的keyword -->
  56. <module name="RedundantModifier"/>
  57. <!-- 对区域的检查 -->
  58. <!-- 不能出现空白区域 -->
  59. <module name="EmptyBlock"/>
  60. <!-- 全部区域都要使用大括号。 -->
  61. <module name="NeedBraces"/>
  62. <!-- 多余的括号 -->
  63. <module name="AvoidNestedBlocks">
  64. <property name= "allowInSwitchCase"
  65. value="true"/>
  66. </module>
  67.  
  68. <!-- 编码方面的检查 -->
  69.  
  70. <!-- 不许出现空语句 -->
  71. <module name="EmptyStatement"/>
  72. <!-- 每一个类都实现了equals()和hashCode() -->
  73. <module name="EqualsHashCode"/>
  74. <!-- 不许使用switch -->
  75. <module name="IllegalToken">
  76. <property name="tokens"
  77. value="LITERAL_SWITCH"/>
  78. </module>
  79. <!-- 不许内部赋值 -->
  80. <module name="InnerAssignment"/>
  81. <!-- 绝对不能容忍魔法数 -->
  82. <module name="MagicNumber"/>
  83. <!-- 循环控制变量不能被改动 -->
  84. <module name="ModifiedControlVariable"/>
  85. <!-- 多余的throw -->
  86. <!-- <module name="RedundantThrows"/> -->
  87. <!-- 不许使用未被简化的条件表达式 -->
  88. <module name="SimplifyBooleanExpression"/>
  89. <!-- 不许使用未被简化的布尔返回值 -->
  90. <module name="SimplifyBooleanReturn"/>
  91. <!-- String的比較不能用!= 和 == -->
  92. <module name="StringLiteralEquality"/>
  93. <!-- if最多嵌套3层 -->
  94. <module name="NestedIfDepth">
  95. <property name="max" value="3"/>
  96. </module>
  97. <!-- try最多被嵌套1层 -->
  98. <module name="NestedTryDepth"/>
  99. <!-- clone方法必须调用了super.clone() -->
  100. <module name="SuperClone"/>
  101. <!-- finalize 必须调用了super.finalize() -->
  102. <module name="SuperFinalize"/>
  103. <!-- 不能catch java.lang.Exception -->
  104. <module name="IllegalCatch">
  105. <property name="illegalClassNames"
  106. value="java.lang.Exception"/>
  107. </module>
  108. <!-- JUnitTestCase 的核心方法存在。
  109.  
  110. -->
  111. <!-- <module name="JUnitTestCase"/> -->
  112. <!-- 一个方法中最多有3个return -->
  113. <module name="ReturnCount">
  114. <property name="max" value="3"/>
  115. </module>
  116. <!-- 不许对方法的參数赋值 -->
  117. <module name="ParameterAssignment"/>
  118. <!-- 不许有相同内容的String -->
  119. <module name="MultipleStringLiterals"/>
  120. <!-- 同一行不能有多个声明 -->
  121. <module name="MultipleVariableDeclarations"/>
  122.  
  123. <!-- 各种量度 -->
  124. <!-- 布尔表达式的复杂度。不超过3 -->
  125. <module name="BooleanExpressionComplexity"/>
  126. <!-- 类数据的抽象耦合。不超过7 -->
  127. <module name="ClassDataAbstractionCoupling"/>
  128. <!-- 类的分散复杂度,不超过20 -->
  129. <module name="ClassFanOutComplexity"/>
  130. <!-- 函数的分支复杂度。不超过10 -->
  131. <module name="CyclomaticComplexity"/>
  132. <!-- NPath复杂度,不超过200 -->
  133. <module name="NPathComplexity"/>
  134.  
  135. <!-- 杂项 -->
  136. <!-- 禁止使用System.out.println -->
  137. <!-- <module name="GenericIllegalRegexp">
  138. <property name="format" value="System\.out\.println"/>
  139. <property name="ignoreComments" value="true"/>
  140. </module> -->
  141.  
  142. <!-- 不许使用与代码同行的凝视 -->
  143. <module name="TrailingComment"/>
  144. <!-- 不同意存在todo标签 -->
  145. <module name="TodoComment">
  146. <property name="severity" value="warning"/>
  147. <property name="format" value="TODO"/>
  148. </module>
  149. </module>
  150.  
  151. <module name="FileLength">
  152. <property name="max" value="1500"/>
  153. </module>
  154.  
  155. <!-- 检查翻译文件 -->
  156. <module name="Translation"/>
  157.  
  158. </module>

小结:这里也就是陪置文件里的陪置项须要有一点了解,些小的错误都会导致文件陪置文件无法导入成功。

checkStyle使用具体解释的更多相关文章

  1. software testing homework2

    一.Checkstyle安装及使用 1.checkstyle插件包:http://sourceforge.net/projects/eclipse-cs/ checkstyle.xml配置文件:htt ...

  2. 提高Java代码质量的Eclipse插件之Checkstyle的使用具体解释

    CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发者遵守某些编码规范的工具.它可以自己主动化代码规范检查过程.从而使得开发者从这项重要可是枯燥的任务中解脱出来. Ch ...

  3. 如何更好地利用Pmd、Findbugs和CheckStyle分析结果

    这里列出了很多Java静态分析工具,每一种工具关注一个特定的能发挥自己特长的领域,我们可以列举一下: Pmd 它是一个基于静态规则集的Java源码分析器,它可以识别出潜在的如下问题:– 可能的bug— ...

  4. Eclipse插件CheckStyle的安装和使用

    转载自:http://www.cnblogs.com/lanxuezaipiao/p/3202169.html CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员 ...

  5. 提高Java代码质量的Eclipse插件之Checkstyle的使用详解

    提高Java代码质量的Eclipse插件之Checkstyle的使用详解 CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具.它能够自动化代 ...

  6. 【开发技术】java中代码检查checkStyle结果分析

    编写Javadoc代码在Java代码的类.函数.数据成员前中输入/**回车,Eclipse能够自动生成相应的Javadoc代码.可以在后面添加相关的文字说明. Type is missing a ja ...

  7. maven项目添加findbugs,checkstyle,jacoco,assembly,maven-jar-plugin插件的配置

    (1)名称解释(插件的作用) findbugs:检测代码的不明显的语法错误.例如:用了==去比较字符串,定义了没有用的变量-- checkstyle:检测代码的格式规范.例如:方法没有写注释,类的命名 ...

  8. checkStyle 错误普及

    1Type is missing a javadoc commentClass  缺少类型说明 2“{” should be on the previous line“{” 应该位于前一行.解决方法: ...

  9. CheckStyle检查规则中文翻译

    本文主要介绍CheckStyle 的各个规则配置项目,这个版本的CheckStyle将样式规则分为了以下十六种类型共138条规则: 官方文档地址:http://checkstyle.sourcefor ...

随机推荐

  1. MySQL数据库”mysql SQL Error:1146,SQLState:42S02 “解决方法

    项目在开发的时候在Mac平台下开发的,开发完了之后在LINUX环境上部署好之后,运行时MySQL数据库报错,提示为某个表不存在之类的错误信息,后来修改了MySQL的配置文件将大小写敏感去掉,问题解决. ...

  2. [原创] 树莓派个人实测 Q&A(最新修改使用windows连接远程桌面)

    原文出处:http://www.eeboard.com/bbs/thread-5191-1-1.html 这篇帖子我打算用Q&A的方式来编写,这样大家更容易一目了然的看明整个帖子的内容,层次分 ...

  3. hdu3452 无向树去掉最小的边集使任何叶子与根不连通 / 最小割

    思路一下就上来了,叶子向汇点连边,inf保证不会成为割,跑根到汇点最小割即可.注意无向树双向建边.基础题,分分钟1A: #include<iostream> #include<que ...

  4. springBoot api接口

    application/json 请求接口 @RequestMapping(value = "/getBaseData", method = RequestMethod.POST, ...

  5. 获取网页是手机端还是PC端访问

    C#方式: /// <summary> /// 是否手机访问 /// </summary> /// <returns></returns> public ...

  6. ASP.NET MVC 利用Razor引擎生成静态页

    实现原理及步骤: 1.通过ViewEngines.Engines.FindView查找到对应的视图,如果是部分视图,则用:ViewEngines.Engines.FindPartialView: 2. ...

  7. codevs_1043 方格取数(棋盘DP)

    1043 方格取数 2000年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description ...

  8. Linux下通过端口号查询占用的进程,并知道其所在的位置

    比如要查询2181端口. 1.查询端口占用的进程ID netstat -anp | grep 2181 tcp6 0 0 :::2181 :::* LISTEN 10997/java 2181为端口号 ...

  9. CoreData: 如何预载/导入已有的数据

    原文地址:CoreData: 如何预载/导入已有的数据作者:出其东门 在系列教程一中,我们为对象建立了可视化数据模型,运行了快速肮脏测试并勾在一个表视图(table view)中来显示.而在这个教程, ...

  10. Autolayout 01

    Auto Layout Concepts auto layout的基本概念是constraint(约束).表示了你interface中的layout元素.例如,你可以创建一个约束来指定元素的宽度或者距 ...