Google Best Practice For Java Libraries (JLBP-0)

·

1 min read

this is a chinese tranlation from Google Best Practice For Java Libraries

Google Java库最佳实践

Google Java库的最佳实践是一些规则,旨在减少使用相关的Java库时的问题。这些实践来自于多年来维护开源Java库的经验,并且受到了从错误中吸取的许多宝贵教训的启发。我们发现遵循这些规则可以得到质量更高的Java库,减少依赖冲突和其他类型的问题。这个规则列表是开放的,所以可能会不时地添加新的规则。

最佳实践

  • JLBP-1: 最小化依赖

  • JLBP-2: 最小化 API 接口

  • JLBP-3: 使用语义版本

  • JLBP-4: 避免依赖不稳定的库或者特性

  • JLBP-5: 不要将一个类包含在多个类路径条目中

  • JLBP-6: 一起重命名构件和包

  • JLBP-7: 使破坏性过渡变得容易

  • JLBP-8: 将广泛使用的功能提升到稳定版本

  • JLBP-9: 支持您的消费者的最低Java版本

  • JLBP-10: 为了消费者的需要,保持API的稳定性

  • JLBP-11: 保持依赖项的最新状态

  • JLBP-12: 明确支持级别和API的稳定性

  • JLBP-13: 在第一次机会中删除对依赖项中已弃用功能的引用

  • JLBP-14: 指定每个依赖项的单个可覆盖版本

  • JLBP-15: 为多模块项目发布BOM

  • JLBP-16: 确保消费者的依赖项的上限版本对齐

  • JLBP-17: 协调退出破坏性版本

  • JLBP-18: 只把 shade 依赖作为最后手段

  • JLBP-19: 每个包只在一个模块里

  • JLBP-20: 给每个 jar 一个模块名

  • JLBP-21: 把构件上传到 Maven 中央仓库

  • JLBP-22: 声明所有的直接依赖

概念