PicnicSupermarket/error-prone-support

GitHub: PicnicSupermarket/error-prone-support

Google Error Prone 的扩展库,提供额外的 Bug 检查器和大量 Refaster 自动重构规则,帮助 Java 开发者在编译阶段发现并修复代码问题。

Stars: 233 | Forks: 51

Error Prone Support logo
# Error Prone 支持 Error Prone Support 是 [Picnic][picnic-blog] 针对 Google [Error Prone][error-prone-orig-repo] 的扩展。它旨在提高代码质量,重点关注可维护性、一致性以及避免常见陷阱。 欲了解更多关于 Error Prone (Support) 的信息、如何在实践中开始使用 Error Prone,以及我们在 Picnic 如何使用它,请观看会议演讲 [_Automating away bugs with Error Prone in practice_][conference-talk]。也可以查阅博客文章 [_Picnic loves Error Prone: producing high-quality and consistent Java code_][picnic-blog-ep-post]。 [![Maven Central](https://img.shields.io/maven-central/v/tech.picnic.error-prone-support/error-prone-support?color=blue)][maven-central-search] [![Reproducible Builds](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/jvm-repo-rebuild/reproducible-central/master/content/tech/picnic/error-prone-support/error-prone-support/badge.json)][reproducible-builds-report] [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7199/badge)][openssf-best-practices-checklist] [![OpenSSF Scorecard](https://img.shields.io/ossf-scorecard/github.com/PicnicSupermarket/error-prone-support?label=openssf%20scorecard)][openssf-scorecard-report] [![CodeQL Analysis](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/85eb147171022224.svg)][codeql-master] [![GitHub Actions](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/e35d37c8b2022225.svg)][github-actions-build-master] [![Mutation tested with PIT](https://img.shields.io/badge/-Mutation%20tested%20with%20PIT-blue.svg)][pitest] [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=PicnicSupermarket_error-prone-support&metric=alert_status)][sonarcloud-quality-master] [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=PicnicSupermarket_error-prone-support&metric=sqale_rating)][sonarcloud-maintainability-master] [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=PicnicSupermarket_error-prone-support&metric=reliability_rating)][sonarcloud-reliability-master] [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=PicnicSupermarket_error-prone-support&metric=security_rating)][sonarcloud-security-master] [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=PicnicSupermarket_error-prone-support&metric=coverage)][sonarcloud-coverage-master] [![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=PicnicSupermarket_error-prone-support&metric=duplicated_lines_density)][sonarcloud-duplication-master] [![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=PicnicSupermarket_error-prone-support&metric=sqale_index)][sonarcloud-technical-debt-master] [![License](https://img.shields.io/github/license/PicnicSupermarket/error-prone-support)][license] [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)][contributing] [入门指南](#-getting-started) • [开发 Error Prone Support](#-developing-error-prone-support) • [工作原理](#-how-it-works) • [贡献](#%EF%B8%8F-contributing) ## ⚡ 入门指南 ### 安装 该库构建于 [Error Prone][error-prone-orig-repo] 之上。要使用它,请阅读下方针对 Maven 或 Gradle 的安装指南。该库要求使用 JDK 21 或更高版本执行构建,但支持 [目标平台][baeldung-java-source-target-options] 为更低版本 Java 的构建。 #### Maven 1. 首先,请遵循 Error Prone 的[安装指南][error-prone-installation-guide]。 2. 接下来,编辑您的 `pom.xml` 文件,将一个或多个 Error Prone Support 模块添加到 `maven-compiler-plugin` 的 `annotationProcessorPaths` 中: org.apache.maven.plugins maven-compiler-plugin 3.12.0 com.google.errorprone error_prone_core ${error-prone.version} tech.picnic.error-prone-support error-prone-contrib ${error-prone-support.version} tech.picnic.error-prone-support refaster-runner ${error-prone-support.version} -Xplugin:ErrorProne -XDcompilePolicy=simple --should-stop=ifError=FLOW ## ✍️ 贡献 想要报告或修复 bug,建议或添加新功能,或者改进文档?这太棒了!请阅读我们的[贡献指南][contributing]。 ### 安全 如果您想报告安全漏洞,请通过私人渠道进行;详情请参阅我们的[安全策略][security]。 ## 致谢 本项目的 pull requests 使用 [Pitest][pitest] 进行分析,这得益于 [Arcmutate][arcmutate] 慷慨提供的 OSS 许可证。快去看看吧!
标签:Bug检测, Error Prone, JS文件枚举, Picnic, Refaster, 代码一致性, 代码规范, 可维护性, 后台面板检测, 域名枚举, 安全专业人员, 开源, 插件扩展, 编译器插件, 错误基检测, 错误检查, 静态代码分析, 静态检测