BreakVer | Taoensso

主要观点:语义版本控制(Semantic Versioning)存在一些实际问题,如规范过长、未区分主要和次要版本的破坏、未考虑心理/营销压力、早期版本混乱等,导致很多人不严格遵循,降低了规范的价值。提出替代的简单规范“Break Versioning(BreakVer)”,强调严格遵循,更可能在实践中可靠,有明确的版本升级规则和判断依据。
关键信息

  • BreakVer 规范:<major>.<minor>.<non-breaking>[-<optional-qualifier>],<major>表示主要破坏变化,<minor>表示次要破坏变化,<non-breaking>表示严格无破坏变化,<optional-qualifier>为标签式限定符。
  • 版本升级规则:安全升级可直接 bump <non-breaking>;可能以次要方式破坏代码可 bump <minor>,需查看 CHANGELOG;可能以主要方式破坏代码可 bump <major>,需查看 CHANGELOG 且强调破坏程度。
  • 判断是否破坏代码:若可能破坏任何人代码,可 bump <major>或<minor>;若不可能破坏任何人代码,可 bump <major>、<minor>或<non-breaking>;对于改变行为或实现细节,若有非零可能性破坏合理代码,则禁止 bump <non-breaking>。
    重要细节
  • 语义版本控制的问题:规范长、未区分破坏程度、未考虑心理压力、早期版本混乱导致代码在 v1.0.0 前停留过久,很多人不严格遵循规范。
  • BreakVer 的优点:旨在易于严格遵循,更可靠,有明确的版本升级和判断标准,其<non-breaking>语义的可靠性很重要。
  • 可链接的规范地址:www.taoensso.com/break-versioning
阅读 13
0 条评论