zoukankan      html  css  js  c++  java
  • (转)Eclipse插件checkstyle 代码风格的检查

    原文:http://www.cnblogs.com/fly-fish/p/3201953.html

    插件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:eclipseeclipse.exe -clean 
    Eclipse中Checkstyle的配置使用
     

    这篇主要介绍Eclipse中Checkstyle的配置。关于Checkstyle,引用百度百科的介绍如下:CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。CheckStyle检验的主要内容包括:Javadoc注释、命名约定、标题、Import语句、体积大小、空白、修饰符、块、代码问题、类设计、混合检查。

    如果我们想要使用Checkstyle,首先必须在Eclipse中安装Checkstyle插件,关于插件的安装教程网上到处都是,在这里就略过了。下面主要讲一下Checkstyle的配置。具体步骤如下:

    1.在Eclipse中打开Windows-->Preferences-->Checkstyle,如下图所示:

    Checkstyle配置

    通过界面我们可以发现,Checkstyle插件中默认内置有2个执行代码检查的配置文件:Sun Checks、Sun Checks(Eclipse)。这两个配置文件中分别定义了Checkstyle需要检查的选项配置。一般项目组都会根据项目需求自定义一个配置文件,然后通过import的方式导入到Eclipse中。今天,我们主要介绍这一种方式。

    2.点击New,在弹出的界面中Type下拉框选择External Configuration File,然后引入我们自定义的配置检查xml文件,Name可以自定义,如下图所示:

    Checkstyle配置

    点击OK保存,然后我们在前一个界面中就能看到我们刚刚导入的配置了。就是下图中的chenzhou_checkstyle

    我们可以鼠标选中该行,然后点击右边的Set as Default按钮,这样Checkstyle就已经配置好了。

    配置好了Checkstyle,我们还需要单独在项目中激活Checkstyle检查,具体方法为:

    右键点击项目-->Properties-->Checkstyle,在弹出的界面中选中Checkstyle active for this project前的复选框,同时在Configure栏选中我们自定义的配置chenzhou_checkstyle,如下图所示

    点击OK保存后项目会rebuild,这样Checkstyle检查就已经激活了。

    我们可以打开我们的代码,如果代码中有不符合Checkstyle定义的规范的地方,Eclipse会黄色高亮显示,如下图所示:

    如果我们把鼠标悬停在高亮代码上,Eclipse会给出提示警告信息。

    对于Checkstyle检查选项的详细配置,我们可以在Eclipse中进行配置修改,如下图,选中chenzhou_checkstyle

    点击右边的Configure按钮,弹出下面的界面

    上图中,左边的菜单项代表我们可以进行配置的选项,每一个菜单项都可以展开为多个子菜单项。我们可以分别进行配置。其中菜单项上标了绿色对勾的表示该项以及所有子项已经添加到了检查项中。如果子项没有全部添加,则父菜单项不会显示绿色对勾。

    如果我们需要添加某个配置项,可以点击选中某个菜单项,然后点击下方的Add按钮,选择OK后该项的子菜单项会显示在右边区域,我们可以通过勾选菜单项前的复选框对具体的项进行配置。如下图所示

    对于具体的每一项的意思,就不一一细说了,应该大家应该都能看懂!

    • checkStyle 使用
       
      选中工程,右键选择checkstyle->check code with checkstyle,检查错误即可
       
      Checkstyle的结果输出
       
      序号      输出内容意义
      1 Type is missing a javadoc commentClass  缺少类型说明
      2“{” should be on the previous line “{” 应该位于前一行
      3Methos is missing a javadoc comment方法前面缺少javadoc注释
      4Expected @throws tag for “Exception”在注释中希望有@throws的说明
      5“.” Is preceeded with whitespace “.” 前面不能有空格
      6“.” Is followed by whitespace“.” 后面不能有空格
      7“=” is not preceeded with whitespace“=” 前面缺少空格
      8“=” is not followed with whitespace“=” 后面缺少空格
      9“}” should be on the same line“}” 应该与下条语句位于同一行
      10Unused @param tag for “unused”没有参数“unused”,不需注释
      11Variable “CA” missing javadoc变量“CA”缺少javadoc注释
      12Line longer than 80characters行长度超过80
      13Line contains a tab character行含有”tab” 字符
      14Redundant “Public” modifier冗余的“public” modifier
      15Final modifier out of order with the JSL suggestionFinal modifier的顺序错误
      16Avoid using the “.*” form of importImport格式避免使用“.*”
      17Redundant import from the same package从同一个包中Import内容
      18Unused import-java.util.listImport进来的java.util.list没有被使用
      19Duplicate import to line 13重复Import同一个内容
      20Import from illegal package从非法包中 Import内容
      21“while” construct must use “{}”“while” 语句缺少“{}”
      22Variable “sTest1” must be private and have accessor method变量“sTest1”应该是private的,并且有调用它的方法
      23Variable “ABC” must match pattern “^[a-z][a-zA-Z0-9]*$”变量“ABC”不符合命名规则“^[a-z][a-zA-Z0-9]*$”
      24“(” is followed by whitespace“(” 后面不能有空格 25“)” is proceeded by whitespace“)” 前面不能有空格
  • 相关阅读:
    R语言 ggplot2包
    C++实现景区信息管理系统
    linux系统目录介绍
    Python中的赋值、深拷贝与浅拷贝(内存地址)
    三大相关系数: pearson, spearman, kendall(python示例实现)
    Xshell删除键不好使:删除显示退格^H
    Spark SQL中出现 CROSS JOIN 问题解决
    Python apply函数
    Python Dataframe 分组排序和 Modin
    Python 中的时间处理包datetime和arrow
  • 原文地址:https://www.cnblogs.com/lea-fu/p/3298077.html
Copyright © 2011-2022 走看看