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

相关文章

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

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

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

基于C#实现将图片转换为PDF文档

《基于C#实现将图片转换为PDF文档》将图片(JPG、PNG)转换为PDF文件可以帮助我们更好地保存和分享图片,所以本文将介绍如何使用C#将JPG/PNG图片转换为PDF文档,需要的可以参考下... 目录介绍C# 将单张图片转换为PDF文档C# 将多张图片转换到一个PDF文档介绍将图片(JPG、PNG)转

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快