Google Best Practice For Java Libraries (JLBP-0)
Table of contents
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: 声明所有的直接依赖
概念
-
参考
术语表: 最佳实践中的术语以及其他开源云Java仓库中的术语