Checkstyle的使用方法

Checkstyle的使用方法

第一部分Checkstyle的使用

介绍 Checkstyle是一个开发工具,可以帮助编程人员编写符合编码规范的java 代码 。程序员都非常讨厌程序的check工作,checkstyle能够自动地完成这项烦琐但又非常重要的工作 ,从而节省了的程序员的时间,也提高了检查的质量。Checkstyle已经成了加强编码规范的首选工具。 NtCheckstyle 是一个可安装的模块,它自动完成Checkstyle和Netbeans 环境的集成。集成后checkstyle的使用非常的方便。 安装 你可以在Netbeans中直接安装NbCheckstyle。

安装的方法是: · 选择菜单“Tools/Update Center”。 · 选择“install manually downloaded module”单选按钮。 · 按照向导添加NbCheckstyle 模块,然后选择“install” 使用 在Netbeans 中安装了NbCheckstyle模块之后,Checkstyle工具就被自动添加到了代码编辑窗口的快捷 菜单(右击鼠标)的”Tools”子菜单下。另外,你也可以从主菜单“Tools”下面得到checkstyle命令。 Checkstyle 的输出结果直接输出到Netbeans的标准输出窗口中,然后你就可以对照输出结果逐条修改你的源代码,直到完全符合编程规范为止。当然了,根据要求你也可以忽略掉某些不符合的结果信息。如果你对checkstyle的缺省规范需要修改,可以通过菜单“Tools/options…”来对checkstyle的属性进行设置。第二部分Checkstyle中的编码规范 Checkstyle 工具中使用的规范主要参考 sun公司的编码规范,缺省值均是最常用的情况。但是,你也可以根据公司的需要或开发人员的习惯方便地定制适合自己团队的规范。你可以在netbeans中options窗口修改相应的设置。

第三部分Checkstyle的结果输出

Checkstyle 会将检查的结果输出到netbeans的标准窗口中,下面解释了一些常见的输出结果,以供参考。

序号 输出内容意义

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“)” 前面不能有空格