checkstyle_ruleset_minimal.xml

本文深入解析了Eclipse CS插件的Checkstyle配置文件,详细介绍了配置中涉及的各项模块及其参数设置,旨在帮助开发者更好地理解和优化其代码风格和质量。
<?xml version="1.0" encoding="UTF-8"?>
<!--
This configuration file was written by the eclipse-cs plugin configuration editor
-->
<!--
Checkstyle-Configuration: checkstyle_mini
Description: none
-->
<!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"/>
<module name="TreeWalker">
<module name="JavadocType"/>
<module name="JavadocMethod">
<property name="scope" value="protected"/>
<property name="allowMissingPropertyJavadoc" value="true"/>
<property name="logLoadErrors" value="true"/>
<property name="suppressLoadErrors" value="true"/>
</module>
<module name="JavadocVariable">
<property name="scope" value="public"/>
</module>
<module name="JavadocStyle">
<property name="checkEmptyJavadoc" value="true"/>
<property name="checkFirstSentence" value="false"/>
<property name="checkHtml" value="false"/>
</module>
<module name="ConstantName">
<property name="format" value="(^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$)|(^log$)|(^logger$)"/>
</module>
<module name="LocalFinalVariableName"/>
<module name="LocalVariableName"/>
<module name="MemberName"/>
<module name="MethodName"/>
<module name="PackageName"/>
<module name="ParameterName"/>
<module name="StaticVariableName"/>
<module name="TypeName"/>
<module name="AvoidStarImport"/>
<module name="RedundantImport"/>
<module name="UnusedImports"/>
<module name="LineLength">
<property name="max" value="120"/>
</module>
<module name="AnonInnerLength">
<property name="max" value="60"/>
</module>
<module name="MethodParamPad"/>
<module name="NoWhitespaceAfter"/>
<module name="NoWhitespaceBefore"/>
<module name="OperatorWrap"/>
<module name="ParenPad"/>
<module name="TypecastParenPad"/>
<module name="TabCharacter"/>
<module name="WhitespaceAround">
<property name="tokens" value="COLON,NOT_EQUAL,DIV,DIV_ASSIGN,BXOR,BXOR_ASSIGN,MINUS,LCURLY,RCURLY,STAR,STAR_ASSIGN,TYPE_EXTENSION_AND,BAND,LAND,BAND_ASSIGN,MOD,MOD_ASSIGN,PLUS,PLUS_ASSIGN,LT,SL,SL_ASSIGN,LE,ASSIGN,MINUS_ASSIGN,EQUAL,GT,GE,SR,SR_ASSIGN,BSR,BSR_ASSIGN,BOR,BOR_ASSIGN,LOR,LITERAL_ASSERT,LITERAL_ASSERT,LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,LITERAL_RETURN,SLIST,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE"/>
</module>
<module name="ModifierOrder"/>
<module name="EmptyBlock"/>
<module name="LeftCurly">
<property name="option" value="nl"/>
</module>
<module name="NeedBraces"/>
<module name="RightCurly">
<property name="option" value="alone"/>
</module>
<module name="AvoidNestedBlocks">
<property name="allowInSwitchCase" value="true"/>
</module>
<module name="HiddenField">
<property name="ignoreConstructorParameter" value="true"/>
<property name="ignoreSetter" value="true"/>
<property name="ignoreAbstractMethods" value="true"/>
</module>
<module name="MagicNumber">
<property name="ignoreNumbers" value="-1, 0, 1"/>
</module>
<module name="RedundantThrows"/>
<module name="NestedTryDepth">
<property name="max" value="2"/>
</module>
<module name="IllegalThrows"/>
<module name="DeclarationOrder"/>
<module name="UnnecessaryParentheses"/>
<module name="VisibilityModifier"/>
<module name="ThrowsCount">
<property name="max" value="3"/>
</module>
<module name="BooleanExpressionComplexity">
<property name="max" value="5"/>
</module>
<module name="Indentation"/>
<module name="UncommentedMain"/>
</module>
<module name="PackageHtml"/>
</module>
在使用 `rocketmq-dashboard 2.0` 打包过程中,如果遇到 Checkstyle 报错,通常是因为代码不符合 `rmq_checkstyle.xml` 文件中定义的编码规范。Checkstyle 6.11.2 是一个静态代码分析工具,用于检查 Java 代码是否符合特定的编码标准。在打包过程中,Maven 或 Gradle 插件会触发 Checkstyle 的校验,一旦发现代码不符合规则,就会中断构建并报错。 ### 常见错误类型与解决方法 1. **文件头注释缺失或格式错误** Checkstyle 可能要求每个 Java 文件都包含特定的文件头信息,例如版权信息或作者声明。如果缺失或格式不正确,会导致报错。 - **解决方法**:确保所有 Java 文件都包含正确的文件头,并符合 `rmq_checkstyle.xml` 中定义的格式规则。可以使用 IDE 的文件模板功能来自动添加标准头信息。 2. **命名规范不一致** Checkstyle 可能对类名、变量名、常量名等命名方式有严格要求,例如类名必须以大写字母开头,常量名必须全大写等。 - **解决方法**:使用 IDE 的重命名功能或代码格式化插件(如 IntelliJ 的 `Code → Reformat Code`)来统一命名风格,确保符合规则。 3. **代码行长度超过限制** Checkstyle 可能限制每行代码的最大长度(如 120 个字符),超出限制会导致构建失败。 - **解决方法**:手动拆分长行代码,或者在 `rmq_checkstyle.xml` 中调整 `LineLength` 规则的 `max` 属性值以放宽限制。例如: ```xml <module name="LineLength"> <property name="max" value="150"/> </module> ``` 4. **缺少 Javadoc 注释** Checkstyle 可能要求所有公共类、方法和字段都必须有 Javadoc 注释。如果某些元素缺少注释,就会触发错误。 - **解决方法**:为所有公共 API 添加完整的 Javadoc 注释,或在 Checkstyle 配置中适当放宽注释要求,例如关闭对字段的 Javadoc 检查。 ### 忽略 Checkstyle 错误(临时方案) 如果希望暂时跳过 Checkstyle 错误以完成打包,可以在构建命令中添加跳过参数: - **Maven**: ```bash mvn clean package -Dcheckstyle.skip=true ``` - **Gradle**: ```bash gradle build -x checkstyleMain -x checkstyleTest ``` 此方法适用于快速验证构建流程本身是否正常,但不建议在长期开发中忽略 Checkstyle 规则,应尽量修复代码以符合规范。 ### 自定义 Checkstyle 配置 如果默认的 `rmq_checkstyle.xml` 不符合团队编码风格,可以对其进行修改。建议在修改后重新运行 Checkstyle 本地检查,确保新规则适用于所有代码文件。可以使用如下命令在本地运行 Checkstyle: ```bash mvn checkstyle:checkstyle ``` 或使用 IDE 插件进行实时检查和修复。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值