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

相关文章

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

C++读写word文档(.docx)DuckX库的使用详解

《C++读写word文档(.docx)DuckX库的使用详解》DuckX是C++库,用于创建/编辑.docx文件,支持读取文档、添加段落/片段、编辑表格,解决中文乱码需更改编码方案,进阶功能含文本替换... 目录一、基本用法1. 读取文档3. 添加段落4. 添加片段3. 编辑表格二、进阶用法1. 文本替换2

Python实现自动化删除Word文档超链接的实用技巧

《Python实现自动化删除Word文档超链接的实用技巧》在日常工作中,我们经常需要处理各种Word文档,本文将深入探讨如何利用Python,特别是借助一个功能强大的库,高效移除Word文档中的超链接... 目录为什么需要移除Word文档超链接准备工作:环境搭建与库安装核心实现:使用python移除超链接的

Python实现中文大写金额转阿拉伯数字

《Python实现中文大写金额转阿拉伯数字》在财务票据中,中文大写金额被广泛使用以防止篡改,但在数据处理时,我们需要将其转换为阿拉伯数字形式,下面我们就来看看如何使用Python实现这一转换吧... 目录一、核心思路拆解二、中文数字解析实现三、大单位分割策略四、元角分综合处理五、测试验证六、全部代码在财务票

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W