`
王佳佳
  • 浏览: 52567 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个完整的checkstyle规范

    博客分类:
  • java
 
阅读更多
  <?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: TTPod Checks
  Description:
  Slightly modified version of TTPod Checks that better matches the default code formatter setting of Eclipse.
  -->
  <module name="Checker">
  <property name="severity" value="warning"/>
   
  <!-- 文件长度不超过2000行,default2000行 -->
  <module name="FileLength"/>
   
  <module name="TreeWalker">
   
  <!-- 检查所有的interface和class,允许未知的标签-->
  <module name="JavadocType">
  <property name="allowUnknownTags" value="true"/>
  <message key="javadoc.missing" value="类注释:缺少Javadoc注释。"/>
  </module>
   
  <!-- 检查所有方法的javadoc,可以不声明RuntimeException -->
  <module name="JavadocMethod">
  <property name="allowUndeclaredRTE" value="true"/>
  <!--允许get set 方法没有注释-->
  <property name="allowMissingPropertyJavadoc" value="true"/>
  <message key="javadoc.missing" value="方法注释:缺少Javadoc注释。"/>
  </module>
   
  <!-- 检查某个变量的javadoc -->
  <module name="JavadocVariable">
  <message key="javadoc.missing" value="变量注释:缺少Javadoc注释。"/>
  </module>
   
  <!--注解设置-->
  <module name="AnnotationUseStyle">
  <!--注解的参数样式 忽略-->
  <property name="elementStyle" value="ignore"/>
  <!--是否在数组元素后尾随逗号 忽略 -->
  <property name="trailingArrayComma" value="ignore"/>
  <!--检查是否保留结束括号 忽略 -->
  <property name="closingParens" value="ignore"/>
  </module>
   
  <!-- 命名规范 -->
  <!-- 类的命名,匹配规则默认:(^[A-Z][a-zA-Z0-9]*$),必须以大写字母开始 -->
  <module name="TypeName">
  <property name="tokens" value="CLASS_DEF"/>
  </module>
   
  <!-- 接口命名,匹配规则:(^I[A-Z][a-zA-Z0-9]*$),必须以大写I开始 -->
  <module name="TypeName">
  <property name="format" value="^I[A-Z][a-zA-Z0-9]*$"/>
  <property name="tokens" value="INTERFACE_DEF"/>
  </module>
   
  <!-- 变量的检查 匹配规则默认^[a-z][a-zA-Z0-9]*$ 范围: 非static型变量 命名为小写-->
  <module name="MemberName"/>
  <!-- 方法名的检查 匹配规则默认^[a-z][a-zA-Z0-9]*$ 范围:方法名 命名为小写-->
  <module name="MethodName"/>
  <!-- 方法的参数名 匹配规则默认^[a-z][a-zA-Z0-9]*$ 范围:方法中的参数名 命名为小写-->
  <module name="ParameterName "/>
  <!-- 常量名的检查 匹配规则默认^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$ 范围:常量(static , final 字段) 命名为大写-->
  <module name="ConstantName"/>
   
   
  <!-- 包名的检测,必须以com.ttpod.工程名命名,且必须全小写,$\{projectname\} -->
  <module name="PackageName">
  <property name="format" value="com\.ttpod\.[a-z]+(\.[a-z][a-z0-9]+)*$"/>
  </module>
   
  <!-- 限制导入.*包的检查,允许导入java.io.*,java.net.*,java.lang.Math.*,其它不允许 -->
  <module name="AvoidStarImport">
  <property name="excludes" value="java.io,java.net,java.lang.Math"/>
  <!-- 实例;import java.util.*;.-->
  <property name="allowClassImports" value="false"/>
  <!-- 实例 ;import static org.junit.Assert.*;-->
  <property name="allowStaticMemberImports" value="true"/>
  </module>
   
  <!-- 限制导入多余的包,例如java.lang.String -->
  <module name="RedundantImport"/>
   
  <!-- 限制导入未使用过的类 -->
  <module name="UnusedImports"/>
   
  <!--代码规范-->
  <!-- 每行不超过150个字,默认80-->
  <module name="LineLength">
  <property name="max" value="150"/>
  </module>
   
  <!-- 即制方法和构造函数行数不超过多少行,默认160行(不包括空行) -->
  <module name="MethodLength">
  <property name="countEmpty" value="false"/>
  <property name="tokens" value="METHOD_DEF,CTOR_DEF"/>
  <property name="max" value="160"/>
  </module>
   
  <!-- 不能出现大块空白区域 -->
  <module name="GenericWhitespace"/>
   
  <!-- 检查是否有未初始化的循环变量 -->
  <module name="EmptyForInitializerPad"/>
   
  <!-- 不许出现空语句 int a = 0; //正常 ; // 这里就是一个空的语句 -->
  <module name="EmptyStatement"/>
   
  <!-- 不能容忍魔法数,范围 double,int 忽略0,1 -->
  <module name="MagicNumber">
  <property name="tokens" value="NUM_DOUBLE, NUM_FLOAT"/>
  <property name="ignoreNumbers" value="0,1"/>
  <property name="ignoreAnnotation" value="true"/>
  </module>
   
  <!-- String的比较不能用!= 和 == -->
  <module name="StringLiteralEquality"/>
   
  <!-- 限制for循环最多嵌套3层 -->
  <module name="NestedForDepth">
  <property name="max" value="3"/>
  </module>
   
  <!-- if最多嵌套5层 -->
  <module name="NestedIfDepth">
  <property name="max" value="5"/>
  </module>
   
  <!-- 确保声明被初始化,例:对象是null,数字和字符是0
  <module name="ExplicitInitialization"/> -->
   
  <!-- 同一行不能有多个声明 -->
  <module name="MultipleVariableDeclarations"/>
   
  <!-- TODO的检查,表示不要出现todo未办事项目-->
  <module name="TodoComment">
  <property name="format" value="TODO\W+"/>
  </module>
   
  <!-- 检查未被注释的main方法,排除以Main结尾命名的类 -->
  <module name="UncommentedMain">
  <property name="excludedClasses" value=".*Main$"/>
  </module>
   
  <!-- 检查数组声明风格 只能为java 例如: String[] args -->
  <module name="ArrayTypeStyle"/>
   
  <!-- 检查左侧大括号 左侧大括号必须放在前一行代码的行尾 -->
  <module name="LeftCurly">
  <property name="severity" value="warning"/>
  <message key="line.previous" value="左侧大括号必须放在前一行代码的行尾,不计入到80个字符内"/>
  </module>
   
  <!-- 对关键字else、try和catch的右侧大括号放置位置进行检查 -->
  <module name="RightCurly">
  <property name="severity" value="warning"/>
  <!--与下一语句放在同一行 -->
  <property name="option" value="same"/>
  </module>
   
  <!-- 禁止使用System.out.println -->
  <module name="Regexp">
  <property name="format" value="System\.out\.println"/>
  <property name="illegalPattern" value="true"/>
  </module>
   
   
  <!--避免 null.equals("sss")情况-->
  <module name="EqualsAvoidNull"/>
   
  <!-- 异常抛出数量定义 -->
  <module name="ThrowsCount">
  <metadata name="net.sf.eclipsecs.core.comment" value="最大异常抛出个数"/>
  <property name="max" value="3"/>
  </module>
   
  <!-- 参数个数定义 最多三个-->
  <module name="ParameterNumber">
  <property name="max" value="7"/>
  </module>
   
  <!-- return个数 3个-->
  <module name="ReturnCount">
  <property name="max" value="3"/>
  </module>
   
  <!--try catch 异常处理数量 3-->
  <module name="NestedTryDepth ">
  <property name="max" value="3"/>
  </module>
   
  </module>
  </module>
分享到:
评论

相关推荐

    eclipse代码规范样式配置文件Checkstyle

    Checkstyle是一款强大的静态代码分析工具,主要用于检查Java源代码是否符合预先设定的编码规范。这个开源项目在SourceForge上活跃,为开发者提供了遵循编码标准和最佳实践的自动化手段。通过使用Checkstyle,开发...

    IDEA CheckStyle离线安装包

    CheckStyle是一款静态代码分析工具,用于检查Java源代码是否遵循特定的编程规范,比如Google编码规范或Sun编码规范。它可以帮助开发者保持代码的一致性和可读性,提高代码质量。 在IDEA中集成CheckStyle插件,可以...

    Checkstyle压缩包和使用说明

    - 在压缩包中可能包含一个默认的配置文件,你可以根据项目需求进行修改或者创建自定义配置文件。 - 配置文件可以设置代码缩进、命名规范、注释规则等,确保代码风格统一。 3. **使用Checkstyle** - 在命令行中,...

    checkstyle 5.7.0

    Checkstyle 是一个开源的代码质量检查工具,主要应用于Java编程语言。它通过一套预定义的规则或者用户自定义的规则,来检查代码是否符合特定的编程规范和风格指南,如Google编码规范或Sun Microsystems编码规范。...

    checkStyle java代码检查工具

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

    checkstyle 5.1

    Checkstyle 是一个开源的代码质量检查工具,主要应用于Java编程语言。它通过一套预定义的规则或者用户自定义的规则,来检查代码是否符合特定的编码规范和最佳实践。Checkstyle 5.1 是该工具的一个版本,它包含了对...

    Myeclipse8.5集成CheckStyle(图解)

    CheckStyle是一款开源的Java编程规范检查工具,它能够检测出代码中的潜在问题,如命名规则、注释缺失、空格使用不当等。通过自定义配置文件,CheckStyle可以适应各种项目或团队的编码规范。 集成CheckStyle到...

    checkstyle_eclipse5.3插件 及最sun_check.rar

    Checkstyle 是一个开源的代码质量检查工具,主要应用于Java编程语言。它可以帮助开发者遵循特定的编码规范和风格,确保代码的一致性和可读性。Eclipse 是一款流行的集成开发环境(IDE),支持多种编程语言,包括Java...

    CheckStyle使用手册

    1. **统一代码风格**:Android项目往往有多个开发者参与,通过CheckStyle可以确保所有人遵循相同的编码规范,提升代码一致性。 2. **减少代码缺陷**:很多编码规范问题可能会导致潜在的代码缺陷,CheckStyle的检查...

    Checkstyle插件

    - 编程习惯:变量命名、常量命名、注释的完整性与规范性。 - 代码复杂度:避免过长的函数和类,控制循环和嵌套的深度。 - 空格和缩进:检查代码中的缩进、空行和空格使用。 - 代码冗余:检测重复的代码片段,鼓励...

    CheckStyle配置详解

    总之,CheckStyle是一个强大的代码质量保证工具,通过对代码格式和规范性的检查,保证了代码的统一性和规范性。通过对CheckStyle配置的细致调整,可以使其适用于不同团队的开发需求,从而提高项目的整体代码质量。在...

    checkstyle

    Checkstyle 是一个强大的开源 Java 代码检查工具,它主要用于确保代码遵循特定的编码规范和风格。这个工具在软件开发过程中非常实用,因为它可以帮助开发者在早期阶段发现潜在的问题,避免后期出现难以查找和修复的...

    CheckStyleCheckStyle

    1. **配置规则**:首先,你需要为项目创建一个CheckStyle配置文件(通常为`.checkstyle`或`.xml`格式),在其中定义你希望遵守的编码规范。配置文件可以包含多种检查规则,例如命名规范、导入语句的管理、注释的要求...

    Eclipse Checkstyle Plug-in 5.4.1

    Eclipse Checkstyle Plug-in 5.4.1是一款专为Eclipse IDE设计的代码质量检查工具,它基于Checkstyle开源项目,旨在帮助开发者遵循统一的编程规范和编码标准,提高代码质量和可维护性。该插件允许用户在开发过程中...

    Code Standard & CheckStyle

    Code Review是确保代码质量、提升团队协作效率的重要环节,而CheckStyle作为一款广泛使用的工具,帮助开发者遵循编码规范,提高代码的一致性和可读性。本文将详细介绍CheckStyle的功能、使用方法和最佳实践,旨在...

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

    总的来说,Checkstyle是Java开发中的一个强大辅助工具,它通过严格的编码规范检查,帮助开发者编写高质量的代码。通过正确配置和使用,Checkstyle可以显著提升项目的整体代码质量和团队协作效率。

    Checkstyle 使用手册

    Checkstyle 是一个强大的静态代码分析工具,主要用于检查Java源代码是否符合特定的编码规范和约定。这个工具默认遵循Sun的Java编码规范,但可以通过自定义XML配置文件进行扩展和调整,以适应不同的项目需求。 ...

    MyEclipse checkstyle插件

    Checkstyle是由Java编写的一个开源项目,它能检查Java源代码中的潜在问题,包括但不限于命名规则、导入顺序、空格使用、注释规范等。 该插件的安装文件"net.sf.eclipsecs-updatesite_5.7.0.201402131929-bin"是一个...

Global site tag (gtag.js) - Google Analytics