介绍

Versioning gets better with time.版本随着时间的推移会变得更好。

CalVer 不是基于任意数字,而是基于项目发布日期的版本控制约定,与 语义化版本 2.0.0 | Semantic Versioning 类似。

主干开发

主干开发就是指开发人员将所有改动提交到主要的分支上的活动。

主干开发有如下三个好处。

  • 确保所有的代码被持续集成。
  • 确保开发人员及时获得他人的修改。
  • 避免项目后期的“合并地狱”和“集成地狱”。

——《持续交付》

主干开发实际上存在着一条主线,所有人都围绕着主线进行工作。目的就是为了持续地交付。

心智模型

主干开发的心智模型非常简单,所有人只关注改动提交后与主线是否能成功集成在一起,功能是否正确。

现实世界中,其实也存在着一条所有人都熟悉的主线:时间。因此通过使用时间作为版本号,可以说是一个自然而然的事情。

实际开发中的项目会使用的许多不同领域的组件,如果通过日历化版本进行管理,可以非常清楚地了解哪些组件过期了。

特点

并不像语义化版本提供了一个严格的版本控制方案,日历化版本让你自己根据需要制定符合自己要求的版本控制方案。

其他的特点官网用一些软件的实际例子介绍了一下,建议自行阅读。

例子

以下产品使用了日历化版本:

  • Unity
  • Ubuntu
  • JetBrains 公司的一系列产品

产品使用日历化版本的好处真是太明显了:它可以不断地提示用户使用的版本要过期了,极大地促进了订阅制的发展。

翻译

日历化版本有这么多的优点,因此我决定将其翻译为中文,让更多的人了解它:

有兴趣的人可以帮忙审校一下。