Checkstyle手册

    开发,尤其是团队开发时,经常面临这样的问题:

  • “你的函数命名怎么不符合规范”
  • “你的第三个参数怎么没有注释”
  • “你一个函数写了3000行,这怎么能行?”

    以上都不会影响代码的运行,但是却给程序布下了不便或者隐患。所以开发前,团队总会制定规范文档,但是文档只具有借鉴的作用,不具有约束力,靠的是大家的自律;如果靠人工检查,耗时耗力——你需要Checkstyle。

   前段时间为了保证团队开发的在风格上的一致性,比如:函数命名、代码长度 、文件长度、注释规范等,写了一个关于Checkstyle基础文档,供大家参考学习《Checkstyle_下载_配置_使用手册》。

简介

    Checkstyle是检查Java程序源代码样式的插件,帮助我们检查代码,以更好的符合标准,特别适用于小组开发时彼此间的样式规范和统一。Checkstyle提供了灵活的配置性,所以除了使用它提供的几种常见标准之外,你也可以定制自己的标准。
    总的来说,Checkstyle就是帮助我们检测源码规范并给出修改建议的一个工具。

安装

    以Eclipse Juno为例。

    在线安装

    代理

    为保证在线安装的速度,需要使用代理,代理成功成功后,需要配置Eclipse的网络连接,依次打开
Window—Preferences—Generral—Network Connection.
    1. Active Provider,选择为Manual
    2. 编辑Proxy entries下的HTTP和HTTPS的Host为127.0.0.1,Port为:8087
    3. 保存

    安装

    依次打开Help—Eclipse Marketplace,输入Checkstyle,选择第一个点击install,一直点击Next……Finish即可,中间提醒是否继续,点击Ok。

    下载安装

    1. 进入网址:http://sourceforge.net/projects/eclipse-cs/files/updatesite/,出现版本列表:
    2. 以5.7.0为例,进入5.7.0,分别下载plugins和featrues下的文件
    3. 并对应放到Eclipse安装目录下的plugins和featrues中,即可安装成功。

    依次进入Window—Preferences,如果出现CheckStyle则表示安装成功。

使用

    在需要使用Checkstyle的项目上,右键-Properties—CheckStyle,然后配置:
  • 勾选Checkstyle active for this project
  • 选择制定的模板文件

    然后打开使用Checkstyle的项目文件,如ICollegeBean.java即可看到Checkstyle的效果,每个小放大镜都会提示问题位置及原因:

    Checkstyle手册_第1张图片

自定义配置

    配置样板

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
<module name="Checker">
	<!--提示信息的严重性-->
	<property name="severity" value="warning"/>
    <!-- Checks that a package.html file exists for each package.     -->
    <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
    <module name="JavadocPackage"/>
    <!-- 忽略检测文件末尾是否有新行                        -->
    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
    <module name="NewlineAtEndOfFile">
        <property name="severity" value="ignore"/>
    </module>
    <!-- 检测两个资源文件是否具有相同的key         -->
    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
<module name="Translation"/>
<!--……………………其它配置…………-->
</module>
    在它内部,将每个需要检测的单元以module的方式封装起来,需要检查哪些检测,将该module放入配置文件,并指定值即可。

    常见检测

    一般我们都需检测什么:

    1.tab宽度:每个tab代表4个单位宽度
    2.注释:检测注释的名称和个数是否和参数匹配
    3.命名规范:检测函数和参数名是否符合Sun规范
    4.import:检测import引用项是否符合规范
    5.代码行长度:定义为最长120个宽度
    6.函数长度:函数最长代码行为150行
    7.参数个数:函数参数个数最多为7个
    8.空格:检测不必要的空格
    9.嵌套:检测嵌套情况
    10.文件长度:文件最长为2000行
    11.资源文件:检测相同名称的资源文件是否有相同的key
    12.编码规范:检测常见编码规范,如空行、静态变量使用、非法对象实例化

总结

    凡是与人工代码无关的内容,请交给计算机。更多详见《Checkstyle_下载_配置_使用手册》。


你可能感兴趣的:(Checkstyle手册)