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

CheckStyle的自定义开发

阅读更多

CheckStyle,正如名字所表示的,是用来检查Java Style的。它的开发站点(http://checkstyle.sourceforge.net/index.html)上的说明是“Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. ” 由于其开源,这个工具在公司开发项目时的code review方面有很好的应用(当然,WSAD/RAD本身也有比较强大的code review 功能,但是笔者不知道能不能够自定义)。本文主要是想讲一下在CheckStyle的基础上,自定义Style(以及检查这种Style)的方法,并顺便讲一下它的Elipse插件开发。CheckStyle当前最新的版本是4.3,本文中涉及的为4.2。

首先,CheckStyle的主要流程是:

1。对Java文件进行词法语法分析,生成语法树。

2。载入配置文件(checkstyle-metadata.xml以及自定义的配置文件),register check事件。

3。按照深度优先遍历对语法树进行解析,按照注册的事件,在到达某些节点 ( AST ) 时进行style检查(AST,A child-Sibling Tree,是语法树中的某个节点,其类型在TokenTypes类中定义。)

我们所说的自定义Style的检查,就是在第二步设定的。这里牵涉到一个叫com.puppycrawl.tools.checkstyle.api.Check 的类,我们通常需要重载其中的两个函数:public int[] getDefaultTokens()public void visitToken(DetailAST ast). 这两个函数的含义为,在遍历语法树的过程中,每当到达getDefaultTokens函数所返回的AST类型, 程序就进入visitToken进行具体的检查和分析,即,真正的分析检查过程是在visitToken中实现的。

比如代码:

public int[] getDefaultTokens() {
        
return new int[] { TokenTypes.METHOD_DEF };
    }

它的意思就是说,每当语法树遍历到达METHOD_DEF类型的AST,系统就进入visitToken函数进行分析。

 

现在已经有开发完成的基于CheckStyle的插件,并且可配置性等方面已经做得比较完善。然而有时,这一类插件常常限制了我们所需要的功能,并且,面面俱到的设计在针对项目使用时会降低不少效率。所以,复杂的未必最好,合适的才是最佳。我想这就是我为什么写这些东西的原因吧。

分享到:
评论

相关推荐

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

    通过使用Checkstyle,开发团队可以确保代码的一致性和可读性,减少因个人编码风格差异导致的问题。 Checkstyle的核心功能包括但不限于以下几点: 1. **命名规范检查**:检查类、接口、方法、变量等的命名是否符合...

    checkstyle使用手册

    综上所述,CheckStyle 是一款强大的静态代码分析工具,特别适用于团队开发环境中,能够帮助开发人员遵循一致的编码规范,提高代码质量和可维护性。通过对 CheckStyle 的合理配置和使用,可以显著提升软件开发的效率...

    IDEA CheckStyle离线安装包

    5. **配置文件来源**:CheckStyle的配置文件可以自定义,也可以使用已有的公共配置,如Google或Sun的编码规范。配置文件定义了各种规则,例如命名约定、空格使用、注释规范等。 6. **启用检查**:配置完成后,可以...

    代码检查 CheckStyle-IDEA

    CheckStyle 可以集成到各种 IDE(集成开发环境)中,包括 IDEA(IntelliJ IDEA),以实现实时的代码检查和修复建议。 **CheckStyle 在 IDEA 中的集成** IntelliJ IDEA 是一个强大的 Java 和 Android 开发 IDE,...

    IDEA CheckStyle插件离线安装包 checkstyle-idea-4.10.0.zip

    CheckStyle插件是将这款工具集成到IntelliJ IDEA中的扩展,使得在开发过程中可以实时检查并提示代码是否符合预设的编码规范。 **CheckStyle-IDEA插件离线安装** 1. **下载插件**: 首先从CheckStyle的官方网站或者...

    CheckStyle中文文档

    此外,还会讲解如何自定义CheckStyle的规则配置文件(checkstyle.xml)以适应团队的特定需求。 2. **规则集**:详细列出CheckStyle支持的所有规则,如命名规范(如类名、方法名、变量名)、代码结构(如空格和缩进...

    checkstyle插件

    这个插件的出现,使得开发人员可以在Eclipse集成开发环境中方便地应用和执行Checkstyle规则,确保代码质量的一致性和可维护性。在描述中提到的"Sun的Java编码规范"指的是Oracle公司(原Sun Microsystems)制定的Java...

    checkStyle

    在Java开发环境中,如MyEclipse,CheckStyle可以作为插件集成,方便开发人员在编写代码的同时进行实时检查。 在MyEclipse 10.5中安装CheckStyle插件,用户通常需要按照以下步骤操作: 1. **下载CheckStyle插件**:...

    checkstyle导入阿里巴巴规范流程

    总的来说,通过Checkstyle导入阿里巴巴规范,不仅可以帮助开发人员遵循统一的编码风格,提高代码质量,还能促进团队间的协作和沟通。掌握这一流程对于任何Java开发者来说都是很有价值的技能。在实际使用中,你可能会...

    Checkstyle

    在Eclipse这样的集成开发环境中安装Checkstyle插件,可以帮助开发者实时发现并修正代码中的潜在问题,提升代码质量和可维护性。 以下是对Eclipse安装Checkstyle插件的详细步骤: 1. 下载Checkstyle插件:首先,你...

    Eclipse java code checkstyle

    Eclipse Java Code Checkstyle 是一个重要的工具,用于在开发Java应用程序时确保代码的质量和一致性。Checkstyle是一款静态代码分析工具,它遵循一套预定义的编码规范和最佳实践,帮助开发者发现并修正潜在的问题,...

    checkstyle

    在实际操作中,可以创建自定义的Checkstyle配置文件,排除特定的检查项。例如,如果Jacob的使用导致了命名约定不符合标准,可以在配置文件中排除这个规则。此外,还可以使用注解(如@SuppressWarnings)来抑制特定...

    Myeclipse checkstyle5.3 插件

    MyEclipse Checkstyle 5.3 是一个针对 MyEclipse 集成开发环境的代码质量检查插件,主要用于帮助开发者遵循特定的编程规范和代码风格。Checkstyle 是一款广泛使用的开源工具,它能检查 Java 源代码,确保代码符合...

    checkStyle java代码检查工具

    CheckStyle 可以在开发阶段就发现潜在的问题,避免这些问题在后期成为难以解决的bug。 CheckStyle 的使用非常简单,可以集成到各种开发环境(如 Eclipse, IntelliJ IDEA, NetBeans)以及构建工具(如 Maven, Gradle...

    MyEclipse安装和使用checkstyle详解

    MyEclipse作为流行的Java集成开发环境,集成了Checkstyle功能,使得在开发过程中可以实时检查代码质量。本文将详细介绍如何在MyEclipse中安装和使用Checkstyle。 一、安装Checkstyle 1. 下载Checkstyle插件:首先...

    checkstyle 教程

    CheckStyle支持多种编程风格,并可以配置自定义规则来满足特定项目的需求。通过集成到开发环境中(如MyEclipse或Eclipse),开发者可以在编写代码时及时获得反馈,从而提高代码质量和可维护性。 #### 二、...

    checkstyle v6.16.0

    Checkstyle支持自定义规则,开发者可以根据团队的需求调整`checkstyle.xml`,增加或删除检查项。例如,你可以设置强制缩进使用空格而不是制表符,限制注释的长度,或者规定类、方法、变量的命名规则等。 总的来说,...

    checkstyle 5.7.0

    Eclipse Kepler(4.3)是Eclipse IDE的一个较老版本,但与Checkstyle 5.7.0的兼容性意味着开发者依然可以在较旧的开发环境中享受到代码质量管理的好处。通过集成Checkstyle,开发团队可以保持一致的代码风格,提高...

    IDEA CheckStyle插件

    IDEA CheckStyle插件是IntelliJ IDEA集成开发环境中的一个重要辅助工具,它主要服务于Java开发者,但同时也支持其他多种编程语言。CheckStyle是一款开源的代码质量检查工具,它的目标是通过一套预定义的规则或者用户...

Global site tag (gtag.js) - Google Analytics