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

相关文章

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import