在checkstyle中如何设置

在checkstyle中如何设置,第1张

CheckStyle 配置是通过指定modules 来应用到Java文件的。

配置文件在net.sf.eclipse.cor.***.jar 里sun_checks.xml sun_checks_eclipse.xml

在自己配置文件的时候可以参考sun 的规范来定义。

1.CheckyStyle配置文件的修改:

Window ->Preferences ->CheckStyle

New ->External Configuration File ->Name ->Location ->OK

Set as Default ->OK !

现在就可以对自己的配置进行修改了。

2.增加或删除文件中的属性

2.1 Window ->preferences ->xxx(自己的配置文件)

在CheckStyle Configer 中可以 Add 或者Remove任意的选项,并修改properties或severity.

五:

我的CheckStyle配置:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">

<!--

This configuration file was written by the eclipse-cs plugin configuration editor

-->

<!--

Checkstyle-Configuration: abc

Description: none

-->

<module name="Checker">

<property name="severity" value="warning"/>

<!-- module的根节点 -->

<module name="TreeWalker">

<module name="PackageName">

<property name="severity" value="warning"/>

<property name="format" value="^[a-z]+(\.[a-z_][a-z0-9_]*)*$"/>

<message key="name.invalidPattern" value="包名 ''{0}''要匹配 ''{1}''的格式(所有字母全部小写)."/>

</module>

<module name="TypeName">

<property name="severity" value="warning"/>

<message key="name.invalidPattern" value="名字 ''{0}'' 要符合 ''{1}''的格式(建议每个单词的首字母大写)."/>

</module>

<module name="MethodName">

<property name="severity" value="warning"/>

<property name="format" value="^[a-z][a-zA-Z]*$"/>

<message key="name.invalidPattern" value="方法名 ''{0}'' 必须要满足 ''{1}''的格式,建议除首单词外每个单词的首字母大写."/>

<message key="method.name.equals.class.name" value="方法名 ''{0}'' 不能等于类名."/>

</module>

<module name="ParameterName">

<property name="severity" value="warning"/>

<message key="name.invalidPattern" value="变量 ''{0}''要匹配''{1}''的格式,建议除首单词外的每个单词的首字母大写."/>

</module>

<module name="MemberName">

<property name="severity" value="warning"/>

<message key="name.invalidPattern" value="变量 ''{0}'' 要匹配''{1}''的格式(建议除首单词外的单词的首字母小写)."/>

</module>

<module name="ConstantName">

<property name="severity" value="warning"/>

<message key="name.invalidPattern" value="常量 ''{0}'' 要匹配''{1}''的格式(字母全部大写可以包含_)."/>

</module>

<module name="LocalFinalVariableName">

<property name="severity" value="warning"/>

<message key="name.invalidPattern" value="局部final变量 ''{0}'' 要匹配''{1}''的格式(建议除首单词外的单词的首字母大写)."/>

</module>

<module name="LocalVariableName">

<property name="severity" value="warning"/>

<property name="tokens" value="PARAMETER_DEF,VARIABLE_DEF"/>

<message key="name.invalidPattern" value="局部变量 ''{0}'' 要匹配''{1}''的格式(建议除首单词外的单词的首字母大写)."/>

</module>

<module name="StaticVariableName">

<message key="name.invalidPattern" value="静态非final变量 ''{0}'' 要匹配''{1}''的格式(建议除首单词外的单词的首字母大写)."/>

</module>

<module name="MethodLength">

<property name="severity" value="warning"/>

<property name="max" value="80"/>

<property name="tokens" value="CTOR_DEF,METHOD_DEF"/>

<message key="maxLen.method" value="方法大小不可以超过80行。"/>

</module>

<module name="ParameterNumber">

<property name="severity" value="warning"/>

<property name="tokens" value="CTOR_DEF,METHOD_DEF"/>

<message key="maxParam" value="方法参数个数不能超过7个。"/>

</module>

<module name="LineLength">

<property name="severity" value="warning"/>

<message key="maxLineLen" value="每一行的最大长度为80个字符。"/>

</module>

<module name="CyclomaticComplexity">

<property name="severity" value="warning"/>

<property name="max" value="4"/>

<message key="cyclomaticComplexity" value="方法内嵌套不能超过4级。"/>

</module>

<module name="BooleanExpressionComplexity">

<property name="severity" value="warning"/>

<property name="max" value="7"/>

<property name="tokens" value="BXOR,BAND,LAND,BOR,LOR"/>

<message key="booleanExpressionComplexity" value="布尔表达式的复杂度不能超过7."/>

</module>

<module name="ArrayTypeStyle">

<property name="severity" value="warning"/>

<message key="array.type.style" value="数组定义要采取String [] args这种方式。"/>

</module>

<module name="Indentation">

<property name="severity" value="warning"/>

<message key="indentation.error" value="你缩进了{1}个空格,正确应该缩进 {2}个空格。"/>

<message key="indentation.child.error" value="你缩进了{1}个空格,正确应该缩进 {2}个空格。"/>

</module>

<module name="AvoidStarImport">

<property name="severity" value="warning"/>

<message key="import.avoidStar" value="避免引用包时使用*号."/>

</module>

<module name="IllegalImport">

<message key="import.illegal" value="{0}为非法包."/>

</module>

<module name="RedundantImport">

<property name="severity" value="warning"/>

<message key="import.same" value="引入了同一个包中的类- {0}。"/>

<message key="import.duplicate" value="在第{0,number,integer}行已经引入了此包- {1}。"/>

<message key="import.lang" value="{0},可以去掉。"/>

</module>

<module name="FinalClass">

<property name="severity" value="warning"/>

<message key="final.class" value="类{0}要声明是final类,或者删除其私有构造函数."/>

</module>

<module name="InterfaceIsType">

<property name="severity" value="warning"/>

</module>

<module name="HideUtilityClassConstructor">

<property name="severity" value="warning"/>

<message key="hide.utility.class" value="实用类(只包含静态属性和静态方法)不应该有一个公共的或者默认构造函数。"/>

</module>

在Eclipse中自动添加注释和自定义注释风格的方法:

1、Eclipse菜单栏上选择 Window ->Preferences ->Checkstyle,进入如下设置界面:

2、在Global Check Configurations框中,列出可以选择的检查配置(Check Configuration),Default栏标记为对勾的默认配置。

如果想自己配置检查选择,可以点击“New...”按钮新建一个配置,进入如下Check Configuration界面:

3、检查配置的类型,可以有多种选择。Internal Configuration类型是检查配置存在于Eclipse内部;External Configuration类型相当于导入一个已有的xml配置文件。Checkstyle配置都是xml文件。

下面这段代码经过Checkstyle检查之后,不符合规范的代码,底色都会被标记为浅黄色进行提示。点击行头的提示标记,就会显示具体不符合规范的地方。示例如下图所示:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/7840342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存