`

java代码检测checkstyle.xml

 
阅读更多
<?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 whether files end with a new line.                        -->
    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
    <module name="NewlineAtEndOfFile"/>

    <!-- Checks that property files contain the same keys.         -->
    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
    <module name="Translation"/>

    <!-- 禁止使用System.out.println -->
    <module name="RegexpMultiline">
        <property name="format" value="System\.(out)|(err)\.print(ln)?\("/>
    </module>

    <!-- 长度方面的检查 -->
    <!-- 文件长度不超过1500行 默认2000 -->
    <module name="FileLength">
        <property name="max" value="1500" />
    </module>

    <module name="TreeWalker">
        <!-- javadoc的检查 -->
        <!-- 检查所有的interface和class -->
        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
        <module name="JavadocMethod">
            <property name="allowMissingParamTags" value="true"/>
            <property name="allowMissingPropertyJavadoc" value="true"/>
            <property name="allowMissingJavadoc" value="true"/>
            <property name="scope" value="public"/>
            <property name="excludeScope" value="public"/>
        </module>
        <module name="JavadocType">
            <property name="allowMissingParamTags" value="true"/>
            <property name="scope" value="public"/>
            <property name="excludeScope" value="package"/>
        </module>
        <module name="JavadocVariable">
            <property name="scope" value="public"/>
            <property name="excludeScope" value="package"/>
        </module>
        <module name="JavadocStyle">
            <property name="checkFirstSentence" value="false"/>
            <property name="checkHtml" value="false"/>
        </module>

        <!-- 命名方面的检查 -->
        <!-- 局部的final变量,包括catch中的参数的检查 -->
        <module name="LocalFinalVariableName" />
        <!-- 局部的非final型的变量,包括catch中的参数的检查 -->
        <module name="LocalVariableName" />
        <!-- 包名的检查(只允许小写字母) -->
        <module name="PackageName">
            <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$" />
        </module>
        <!-- 仅仅是static型的变量(不包括static final型)的检查 -->
        <module name="StaticVariableName" />
        <!-- 类型(Class或Interface)名的检查 -->
        <module name="TypeName" />
        <!-- 非static型变量的检查 -->
        <module name="MemberName" />
        <!-- 方法名的检查 -->
        <module name="MethodName" />
        <!-- 方法的参数名 -->
        <module name="ParameterName " />
        <!-- 常量名的检查 -->
        <module name="ConstantName" />
        <!-- 没用的import检查,比如:1.没有被用到2.重复的3.import java.lang的4.import 与该类在同一个package的 -->
        <module name="UnusedImports" />
        <module name="AvoidStarImport"/>
        <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
        <module name="RedundantImport"/>


        <!-- 每行不超过120个字-->
        <module name="LineLength">
            <property name="max" value="120" />
        </module>
        <!-- 方法不超过150行 -->
        <module name="MethodLength">
            <property name="tokens" value="METHOD_DEF" />
            <property name="max" value="150" />
        </module>
        <!-- 方法的参数个数不超过5个。 并且不对构造方法进行检查-->
        <module name="ParameterNumber">
            <property name="max" value="5" />
            <property name="tokens" value="METHOD_DEF" />
        </module>

        <!-- 空格检查 -->
        <!-- 允许方法名后紧跟左边圆括号"(" -->
        <module name="MethodParamPad" />
        <!-- 在类型转换时,不允许左圆括号右边有空格,也不允许与右圆括号左边有空格 -->
        <module name="TypecastParenPad" />
        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
        <module name="EmptyForIteratorPad"/>
        <module name="OperatorWrap"/>
        <module name="ParenPad"/>

        <!-- 关键字 -->
        <!--   
            每个关键字都有正确的出现顺序。比如 public static final XXX 是对一个常量的声明。如果使用 static 
            public final 就是错误的   
        -->
        <module name="ModifierOrder" />
        <!-- 多余的关键字 -->
        <!--<module name="RedundantModifier" />-->

        <!-- 对区域的检查 -->
        <!-- 不能出现空白区域 -->
        <module name="EmptyBlock" />
        <!-- 所有区域都要使用大括号 -->
        <module name="NeedBraces" />
        <!-- 多余的括号 -->
        <module name="AvoidNestedBlocks">
            <property name="allowInSwitchCase" value="true" />
        </module>


        <!-- 编码方面的检查 -->
        <!-- 不许出现空语句 -->
        <module name="EmptyStatement" />
        <!-- 不允许魔法数 -->
        <module name="MagicNumber"/>
        <!-- 多余的throw -->
        <module name="RedundantThrows" />
        <!-- String的比较不能用!= 和 == -->
        <module name="StringLiteralEquality" />
        <!-- if最多嵌套3层 -->
        <module name="NestedIfDepth">
            <property name="max" value="3" />
        </module>
        <!-- try最多被嵌套2层 -->
        <module name="NestedTryDepth">
            <property name="max" value="2" />
        </module>
        <!-- clone方法必须调用了super.clone() -->
        <module name="SuperClone" />
        <!-- finalize 必须调用了super.finalize() -->
        <module name="SuperFinalize" />
        <!-- 不能catch java.lang.Exception -->
        <module name="IllegalCatch">
            <property name="illegalClassNames" value="java.lang.Exception" />
        </module>
        <!-- 确保一个类有package声明 -->
        <module name="PackageDeclaration" />
        <!-- 一个方法中最多有3个return -->
        <module name="ReturnCount">
            <property name="max" value="3" />
            <property name="format" value="^$" />
        </module>
        <!--   
            根据 Sun 编码规范, class 或 interface 中的顺序如下: 1.class 声明。首先是 public,   
            然后是protected , 然后是 package level (不包括access modifier ) 最后是private .   
            (多个class放在一个java文件中的情况) 2.变量声明。 首先是 public, 然后是protected然后是 package 
            level (不包括access modifier ) 最后是private . (多个class放在一个java文件中的情况)   
            3.构造函数 4.方法   
        -->
        <module name="DeclarationOrder" />
        <!-- 同一行不能有多个声明 -->
        <module name="MultipleVariableDeclarations" />
        <!-- 不必要的圆括号 -->
        <module name="UnnecessaryParentheses" />

        <!-- 杂项 -->

        <!-- 检查并确保所有的常量中的L都是大写的。因为小写的字母l跟数字1太象了 -->
        <module name="UpperEll" />
        <!-- 检查数组类型的定义是String[] args,而不是String args[] -->
        <module name="ArrayTypeStyle" />
        <!-- 检查java代码的缩进 默认配置:基本缩进 4个空格,新行的大括号:0。新行的case 4个空格 -->
        <module name="Indentation" />
        <!-- Todo 备注  -->
        <module name="TodoComment"/>
        <!-- 常量类检测 -->
        <module name="FinalClass"/>

        <!-- Checks for common coding problems               -->
        <!-- See http://checkstyle.sf.net/config_coding.html -->
        <module name="AvoidInlineConditionals"/>
        <module name="EqualsHashCode"/>
        <module name="IllegalInstantiation"/>
        <module name="InnerAssignment"/>
        <module name="MissingSwitchDefault"/>
        <module name="SimplifyBooleanExpression"/>
        <module name="SimplifyBooleanReturn"/>


    </module>
</module>  

 

分享到:
评论

相关推荐

    checkstyle.xml和jalopy.xml文件

    Checkstyle是一个开源的Java代码质量检查工具,它能够检查代码是否遵循特定的编程规范,比如Sun编码规范或Google编码规范。`checkstyle.xml`文件就是Checkstyle的配置文件,其中包含了各种检查规则。例如,它可以...

    checkstyle导入阿里巴巴规范流程

    Checkstyle是一款用于检查Java源代码是否遵循特定编码规范的静态代码分析工具。阿里巴巴作为国内知名的互联网巨头,其内部有一套完善的编码规范,旨在提升代码的可读性和一致性。本篇文章将详细介绍如何将阿里巴巴的...

    Ant工程checkstyle编写(代码检测)

    本篇将详细介绍如何在Ant工程中配置和使用Checkstyle进行代码检测。 首先,我们需要理解Ant的基本概念。Apache Ant是一个基于Java的任务驱动构建系统,它允许开发者通过XML配置文件定义任务来构建、测试和部署项目...

    Checkstyle压缩包和使用说明

    Checkstyle是一款广泛使用的Java编程语言的静态代码分析工具,它主要的作用是检查代码是否符合预设的编码规范和风格。这个“Checkstyle压缩包和使用说明”包含了Checkstyle的安装包以及详细的使用指南,帮助开发者...

    checkStyle java代码检查工具

    CheckStyle 是一个非常重要的 Java 代码检查工具,它主要用于确保代码遵循特定的编码规范和风格。这个工具在软件开发过程中起到了关键的角色,因为保持代码的一致性和可读性是提高团队协作效率、降低维护成本的重要...

    代码走查工具CheckStyle插件的安装和使用

    CheckStyle是一款非常流行的开源代码走查工具,主要用于检查Java代码是否符合特定的编码风格和最佳实践。本篇文章将详细介绍CheckStyle插件的安装与使用。 **一、CheckStyle简介** CheckStyle是一款静态代码分析...

    checkstyle插件包

    Checkstyle 是一个流行的开源静态代码分析工具,主要应用于Java编程语言。它旨在通过检查源代码是否遵循特定编码规范和最佳实践来确保代码质量的一致性。Checkstyle 插件包通常用于集成到开发环境或构建工具(如...

    checkStyle

    CheckStyle 是一个开源的代码质量检查工具,主要应用于Java编程语言。它通过静态代码分析来检测代码中的潜在问题,如不规范的编码风格、潜在的bug、复杂的代码结构等,帮助开发者遵循统一的编码规范,提升代码质量和...

    CheckStyle使用说明.pdf

    CheckStyle是一款开源的Java程序代码检查工具,能够自动地检测代码是否符合预定的编码规范。它可以集成到Eclipse等IDE中,也可以作为Ant任务集成到构建过程中。CheckStyle支持自定义规则集,允许用户根据项目需求...

    代码格式检查工具Checkstyle配置详解

    **Checkstyle** 是一个用于检查Java源代码风格的开源工具,支持自定义检查规则。通过配置不同的检查策略,它可以检测代码中常见的错误和不良编程习惯,如命名规则、代码布局、注释规范等。 #### 三、在Eclipse中...

    checkstyle-checkstyle-8.26.zip

    通过解析Java源文件,CheckStyle能够检测出不符合规则的地方,如命名约定、空格使用、导入语句的排列等。源代码的结构通常分为多个模块,每个模块对应一类检查,比如`checks`目录下可能包含`naming`、`imports`、`...

    代码走查工具插件checkstyle最新版本

    Checkstyle的主要目标是通过自动检测不符合编程规范的代码,帮助开发者提前发现潜在的问题,避免在后期阶段引入错误。它可以检查的方面包括但不限于: 1. **命名规范**:如类名、方法名、变量名等应遵循的规则。 2....

    使用Gitlab的Hooks(钩子) + Checkstyle插件做Push代码检测.docx

    本篇文档主要介绍了如何利用GitLab Hooks结合Checkstyle插件来实现Java代码push前的自动检测,确保代码质量。以下是详细的配置步骤: 首先,你需要在服务器上安装JDK,因为Checkstyle插件需要Java环境来运行。这里...

    Checkstyle是一个开发工具,帮助程序员编写遵循编码标准的Java代码。默认情况下,它支持Google Java.zip

    Checkstyle是一款强大的静态代码分析工具,专为Java开发者设计,旨在确保代码质量并遵循特定的编码规范。这款工具通过对源代码进行分析,检测出不符合预设编码标准的问题,从而帮助程序员编写更加整洁、一致且易于...

    checkstyle使用说明

    Checkstyle是一款强大的Java代码检查工具,它可以帮助开发者遵循特定的编码规范和最佳实践。这款工具广泛应用于各种项目,以确保代码的一致性和可维护性。通过执行一系列预定义的规则,Checkstyle能检测出不符合规范...

    checkstyle_eclipse5.3插件 及最sun_check.rar

    Checkstyle 插件就是将 Checkstyle 的功能集成到 Eclipse 中,方便开发者在编写代码时实时检测潜在的问题。 标题提到的 "checkstyle_eclipse5.3插件" 指的是 Checkstyle 插件的一个版本,它适配的是 Eclipse 3.5 ...

    静态代码检测

    本篇将重点介绍三个常用的静态代码检测工具:Checkstyle、PMD和FindBugs,并探讨如何快速接入这些工具以提升代码质量。 首先,Checkstyle是一个开源的Java代码规范检查工具,它可以帮助开发者遵循特定的编程标准和...

    Coding Standard

    本文将深入探讨Java编程规范,并结合提供的资源,如`Java Coding Standard.doc`,以及配置文件`iisi-Formatter.xml`、`iisi-PMD.xml`和`iisi-Checkstyle.xml`,来阐述如何提升Java代码的可读性、可维护性和一致性。...

    CheckStyle-IDEA-5.54.0.zip

    3. **快速修复**:对于检测到的问题,插件通常提供快速修复选项,只需点击即可按照 CheckStyle 的建议自动修复代码。 4. **检查结果视图**:在 IntelliJ IDEA 的 "Problems" 视图中,你可以看到 CheckStyle 检查出...

Global site tag (gtag.js) - Google Analytics