2017-10-12 222 views
2

有關何時增加MAJOR與MINOR版本號(SemVer 2.0)的規則非常引人注目。他們清楚地知道應用程序/服務是否向後兼容很多優點。SemVer中MINOR與PATCH規則的原因

但是該網站並沒有真正給出MINOR和它稱爲PATCH之間差異的原因。我不認爲它給予MAJOR和MINOR相同的好處。

僅供參考這裏的SemVer規則:

  1. 當你做出不兼容的API改變主要版本,
  2. 當你在一個向後兼容的方式添加功能次要版本,並
  3. 補丁版本時你做出向後兼容的錯誤修復。

所以MINOR和PATCH之間唯一的區別就是功能和bug修復。我的公司想要這樣做。

他們希望MINOR是[向後兼容]功能的集合。 「PATCH」(我們稱之爲Incremental)是獲得這些功能所需的版本。 (我們在發佈功能時發佈錯誤修復。)例如,如果我們計劃在2.4版本中使用7 [向後兼容]功能,那麼2.4.0可能具有2個功能,2.4.1可能具有3個功能功能和2.4.2將有最後2個(也許每個版本有一個錯誤修復或兩個)。

我可以看到,這違反SemVer,但我需要知道爲什麼SemVer已經決定要對未成年和補丁版本之間的區別規定,所以我可以知道哪種方式把我的公司。

注意:我希望Stack Overflow不會過於主觀。我通常不會問這樣的問題,所以有可能這個問題需要關閉......

+0

對於https://softwareengineering.stackexchange.com/ – Blorgbeard

+0

@Blorgbeard,當提及其他網站時,這可能是一個更好的問題,通常指出[交叉發佈是令人不悅的](https:// meta。 stackexchange.com/tags/cross-posting/info) – gnat

回答

0

這個標準是故意簡化的。沒有任何東西可以阻止你隨着新功能發佈一系列錯誤修復,並且只有當你這樣做時,你才需要修改次要域。如果更改僅涉及錯誤修復,重構或不添加,刪除或修改任何界面的文檔,則只會修補修補程序。整個過程就是向您的消費者傳達您在更新消息時的風險等級。