checkstyle/checkstyle
GitHub: checkstyle/checkstyle
一款高度可配置的 Java 代码静态分析工具,专注于检查代码是否遵守编码规范和最佳实践。
Stars: 8884 | Forks: 4037
# Checkstyle - Java 代码质量工具

*Checkstyle 是一款确保遵守代码标准或一组最佳实践的工具。*
[![][appveyor img]][appveyor]
[][circleci]
[][cirrusci]
[![][coverage img]][coverage]
[][snyk]
[][semaphoreci]
[![][azure img]][azure]
[![][error prone img]][error prone]
[![][qodana img]][qodana]
[![][pitest img]][pitest]
[![][checker framework img]][checker framework]
[![][dependabot img]][dependabot]
[![][release notes/version img]][release notes/version]
[![][closed issues img]][closed issues]
[![][link check img]][link check]
[![][milestone img]][milestone]
[![][mavenbadge img]][mavenbadge]
最新的发布版本可以在以下地址找到
[GitHub releases](https://github.com/checkstyle/checkstyle/releases/)
或者 [Maven repo](https://repo1.maven.org/maven2/com/puppycrawl/tools/checkstyle/)。
文档以 HTML 格式提供,请参阅 https://checkstyle.org/checks.html 。
## 目录
- [快速入门](#quick-start)
- [贡献](#contributing)
- [反馈与支持](#feedback-and-support)
- [Javadoc](#javadoc)
- [赞助 Checkstyle](#sponsor-checkstyle)
- [许可协议](#licensing)
## 快速入门
- 从 GitHub 下载我们的[最新版本](https://github.com/checkstyle/checkstyle/releases/)
或者从 [Maven Central](https://mvnrepository.com/artifact/com.puppycrawl.tools/checkstyle) 将 Checkstyle 添加到您的构建中。
- 阅读我们的[用法](https://checkstyle.org/cmdline.html)和[配置](https://checkstyle.org/config.html)文档。
```
$ cat config.xml
$ cat Test.java
class Test {
public void foo() {
int i = 0;
while (i >= 0) {
switch (i) {
case 1:
case 2:
i++;
case 3: // violation 'fall from previous branch of the switch'
i++;
}
}
}
}
$ java -jar checkstyle-10.18.1-all.jar -c config.xml Test.java
Starting audit...
[ERROR] Test.java:9:9: Fall through from previous branch of switch statement [FallThrough]
Audit done.
Checkstyle ends with 1 errors.
```
## 构建说明
请参阅 [CheckStyle 文档](https://checkstyle.org/contributing.html#Build)以获取有关如何构建项目的信息。
## 反馈与支持
- 访问我们的[讨论页面](https://github.com/checkstyle/checkstyle/discussions),您可以
在那里提问并与其他用户和贡献者讨论项目。这是我们首选的沟通方式,适用于
使用和配置问题、调试以及其他反馈等话题。
- [Stack Overflow](https://stackoverflow.com/questions/tagged/checkstyle)是另一个
咨询 Checkstyle 使用问题的地方。
- 如果您有兴趣为项目做出贡献,可以加入我们的
[Discord 贡献者聊天室](https://discord.com/channels/845645228467159061/1216455699488313554)
[通过邀请链接](https://discord.gg/FsUsYC2ura)。
- 我们的 [Google Groups 论坛](https://groups.google.com/forum/?hl=en#!forum/checkstyle)是一个
用于讨论和支持的邮件列表;但是,我们在那里的回复可能会比较慢。
## Javadoc
查看我们的 [javadoc](https://checkstyle.org/apidocs/index.html) 以了解
我们的 API 文档。
## 许可协议
Checkstyle 根据 [GNU LGPL v2.1 许可证](LICENSE)授权。
Checkstyle 使用的库:
- [ANTLR](https://www.antlr.org/)
- [Apache Commons](https://commons.apache.org/)
- [Google Guava](https://github.com/google/guava/)
- [Picocli](https://github.com/remkop/picocli/)
## 开发工具支持
[![JetBrains logo.][jetbrains img]][jetbrains]
[![JProfiler logo.][jprofiler img]][jprofiler]
标签:Ant, Checkstyle, Google Java Style, JS文件枚举, Maven, Sun Code Conventions, 二进制发布, 代码审查, 代码规范, 代码风格, 前端框架, 域名枚举, 开源工具, 开源框架, 持续集成, 横向移动, 漏洞验证, 编程规范, 软件开发, 错误基检测, 静态代码分析