A Picnic-opinionated extension of Google's Error Prone, adding extra bug checkers and a large battery of Refaster rules for Java.
Error Prone Support is a Picnic-opinionated extension of Google's Error Prone, a static analysis tool for Java. It adds extra bug checkers and a comprehensive set of Refaster rules to catch common programming mistakes at compile-time and automate code refactoring. The project focuses on improving code quality, maintainability, and consistency by enforcing coding standards and avoiding common pitfalls.
Java developers and teams using Maven or Gradle who want to enhance their code quality through static analysis and automated refactoring, particularly those interested in adopting Picnic's coding conventions and best practices.
Developers choose Error Prone Support because it extends the proven Error Prone framework with additional, opinionated checks and Refaster rules that automate code improvements, reduce bugs, and enforce consistency across Java codebases with minimal manual effort.
Error Prone extensions: extra bug checkers and a large battery of Refaster rules.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Adds identity conversion checks and other bug patterns to Error Prone, catching common mistakes like unnecessary ImmutableSet.copyOf() at compile-time with specific warnings.
Includes a large battery of Refaster rules, such as rewriting BigDecimal.valueOf(0) to BigDecimal.ZERO, automating code improvements without manual effort.
Provides Picnic-opinionated conventions to standardize coding practices, helping teams maintain a consistent codebase based on proven best practices.
Offers detailed installation guides for Maven and Gradle, making setup straightforward for popular Java build systems with clear configuration examples.
Requires JDK 21 or above for execution, as stated in the installation, limiting compatibility with legacy projects on older Java versions.
Setup involves editing build files and managing multiple modules (e.g., error-prone-contrib and refaster-runner), which can be non-trivial for teams new to Error Prone.
Enforces Picnic-specific coding standards that might conflict with existing team practices, requiring overrides or adjustments that add maintenance overhead.