Java Best Practices
Java has been around for an exceptionally long time, and continues to find massive support from developers and businesses worldwide. It has a proven track record of reliably working in mission critical projects, where performance, supportability, wider ecosystem support, and Java’s continued evolution see its adoption growing.
The Java Best Practices website is for all Java developers. The goal is to distill years of Java experience down to a set of best practices that help developers build high-quality Java applications and libraries. This documentation is open-source and contributions are appreciated! You can find all documentation over on GitHub.
Best Practices for Java Developers
- JBP-1: Use BOMs whenever available
- JBP-2: Minimize dependencies
- JBP-3: Don’t float dependency versions
- JBP-4: Keep dependencies up to date
- JBP-5: Make use of logging APIs
- JBP-6: Configure build plugins
- JBP-7: Use the latest Java Long-Term Support release
- JBP-8: A little copying is better than a new dependency
Best Practices for Java Library Developers
- JLBP-1: Characteristics of good API
- JLBP-2: Embrace modules
- JLBP-3: Release to Maven Central
- JLBP-4: Publish BOMs for multi-module projects
- JLBP-5: Use semantic versioning
- JLBP-6: Resist breaking changes
- JLBP-7: Minimize API visibility
- JLBP-8: Minimize API
- JLBP-9: Design for extensibility (Draft)
- JLBP-10: Avoid shading dependencies (Draft)
- JLBP-11: Write great documentation
- JLBP-12: The importance of consistency (Draft)
- JLBP-13: Eat your own dog food
- JLBP-14: Document your deprecation policy
- JLBP-15: Don’t return null
- JLBP-16: Beware of boxing
- JLBP-17: Understand functional interfaces