CheckStyle中文文档(自己乱翻译的)

2024-04-14 10:08

本文主要是介绍CheckStyle中文文档(自己乱翻译的),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CheckStyle是一个很有趣的开源框架,他可以帮助检查Java代码中的代码规范,传统的代码检查是一种很无聊的工作,而且无法全面的去检查,而大公司一般都会定期的进行代码检查,不想做也不行,怕被别人找麻烦。而CheckStyle就是一个可以帮助我们自动去检查Java代码的工具,替我们分担了不少无聊(但也是重要)的工作。

 

CheckStyle是一个高度可配置(通过XML配置需要检查的规范),他不但是免费的软件,而且还是一个开源的软件

 

在CheckStyle的软件包里面还包括很多有名的代码规范,如Sun Code Conventions (Sun公司的代码规范),其他的例子其实也都是有名的代码规范。

 

CheckStyle可以检查你的代码中的很多方面,以前它只是用来检查规范,但在版本3后,很多的规则被添加进来,以致它开始可以用来检查Java代码中的一些程序缺陷。

 

CheckStyle的源程序以及编译好的软件包可以在SourceForge里面下载,下载的地址是:

 

http://sourceforge.net/project/showfiles.php?group_id=29721

 

你也可以从SVN上去获取CheckStyle最新的代码

 

相关工具:

 

CheckStyle可以在命令行或者Ant里运行

 

另外,Eclipse和NetBean上都可以找到CheckStyle的插件

 

 

CheckStyle最新的版本是5.1

 

CheckStyle的配置

 

CheckStyle的配置主要配置哪些规则会被应用到代码的检查中,规则用XML来配置,所以规则都会添加在Root 的Module里面,也就是说Root是最根本的级别。

 

TreeWalker:在TreeWalker里面定义的Module会在轮流在源码所以解析成的语法树里面去验证规则

 

接下来是一个典型的配置文档

 

<module name="Checker"><module name="JavadocPackage"/><module name="TreeWalker"><module name="AvoidStarImport"/><module name="ConstantName"/><module name="EmptyBlock"/></module>
</module>

 

JavadocPackage是一个很奇怪的检查,他检查文件的目录上是不是有一个package-info.java,一个是Java1.5后的一个新功能,目录是让所有的包都有一个共同的注释。

 

Module TreeWalker里面有三个子Module,分别是AvoidStarImport(不允许*导入,也就是类要一个一个导),ConstantName(变量命名规则,这个规则基本上是通用的),EmptyBlock。

 

对于每一个Module,CheckStyle都会加载一个规则类来处理,以下是几条CheckStyle加载类的规则

 

1. 直接导入,如果是已经定义了包名的规则类,CheckStyle直接把这个包与类名导入

 

2. 如果没有定义包名,则会自动在包com.puppycrawl.tools.checkstyle.checks找到相应的类

 

3. 会自动在类名后自动加Check,如果类名后没有Check的话

 


Module的属性

 

我们是可以在Module里面定义属性的,这样我们才可以更好的定义规则。

 

比如:

 

<module name="MethodLength"><property name="max" value="60"/>
</module>

 

这个Module表示检查方法的长度不可以超过60行,这里定义了一个max属性

 

TreeWalker下的规则

 

TreeWalker下的规则都是和语法树有关的规则

 

比如:

 

<module name="MethodLength"/>

 

这里是检查方法的长度,方法属于语法树的范围,默认的属性是{METHOD_DEF, CTOR_DEF} (构造方法与普通方法都检查),如果改成这样

<module name="MethodLength"><property name="tokens" value="METHOD_DEF"/>
</module><module name="MethodLength"><property name="tokens" value="CTOR_DEF"/><property name="max" value="60"/>
</module>

 

这样就会把普通方法与构造方法分开来检查

这篇关于CheckStyle中文文档(自己乱翻译的)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/902738

相关文章

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Python Pillow 库详解文档(最新推荐)

《PythonPillow库详解文档(最新推荐)》Pillow是Python中最流行的图像处理库,它是PythonImagingLibrary(PIL)的现代分支和继承者,本文给大家介绍Pytho... 目录python Pillow 库详解文档简介安装核心模块架构Image 模块 - 核心图像处理基本导入

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

浅谈Redis Key 命名规范文档

《浅谈RedisKey命名规范文档》本文介绍了Redis键名命名规范,包括命名格式、具体规范、数据类型扩展命名、时间敏感型键名、规范总结以及实际应用示例,感兴趣的可以了解一下... 目录1. 命名格式格式模板:示例:2. 具体规范2.1 小写命名2.2 使用冒号分隔层级2.3 标识符命名3. 数据类型扩展命

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取