Return to site

Java Librairies Best Practices

· java
  1. 👉 JLBP-1: Minimize dependencies
  2. 👉 JLBP-2: Minimize API surface
  3. 👉 JLBP-3: Use Semantic Versioning
  4. 👉 JLBP-4: Avoid dependencies on unstable libraries and features
  5. 👉 JLBP-5: Do not include a class in more than one classpath entry
  6. 👉 JLBP-6: Rename artifacts and packages together
  7. 👉 JLBP-7: Make breaking transitions easy
  8. 👉 JLBP-8: Advance widely used functionality to a stable version
  9. 👉 JLBP-9: Support the minimum Java version of your consumers
  10. 👉 JLBP-10: Maintain API stability as long as needed for consumers
  11. 👉 JLBP-11: Keep dependencies up to date
  12. 👉 JLBP-12: Make level of support and API stability clear
  13. 👉 JLBP-13: Remove references to deprecated features in dependencies at the first opportunity
  14. 👉 JLBP-14: Specify a single, overridable version of each dependency
  15. 👉 JLBP-15: Publish a BOM for multi-module projects
  16. 👉 JLBP-16: Ensure upper version alignment of dependencies for consumers
  17. 👉 JLBP-17: Coordinate rollout of breaking changes
  18. 👉 JLBP-18: Only shade dependencies as a last resort
  19. 👉 JLBP-19: Place each package in only one module
  20. 👉 JLBP-20: Give each JAR file a module name
  21. 👉 JLBP-21: Upload artifacts to Maven Central
  22. 👉 JLBP-22: Declare all direct dependencies