問題描述

我的業務夥伴和我正在開發幾個外掛,我們想知道當有更新時是否有外掛版本號的標準,即版本 1.0,版本 1.2,版本 1.2.3 等?

感謝任何建議。

最佳解決方案

不,沒有標準。你甚至可以使用名字,羅馬數字等等,但我不會推薦它。

大多數作者使用 Semantic VersioningMajor.Minor.Patch

這有幾個缺點:

  • 使用者害怕 「big changes」 。新版本的升級 (第一部分更改 (Major)) 通常會延遲,或者使用者正在等待第一個 「service pack」(2.0.1) 。

  • 開發者有時不確定何時改變哪一部分。什麼是專業?大的程式碼更改可能對使用者體驗影響不大。

  • 版本號的長度是不可預測的。 1.2.32.12.123 。不是很大的,但不是很理想。

在實踐中,語義版本控制不是那種語義。

我更喜歡日期作為版本號:2012.11.19

  • 第一個數字的變化顯然與程式中的 「big changes」 無關。

  • 沒有 0 到底。決不。 🙂

  • 總是相同的長度 (除了每天有多個版本) 。

  • version_compare()相容 – 這可以被看作是一個標準。

推薦閱讀:

這兩個方案都有效。差異主要在於使用者體驗。

次佳解決方案

PHP 中版本號的標準如下:

主要點小數點修訂

這些都是一個整數,獨立於其餘的。它不是十進位制數。這很重要,因為 version_compare 如何工作。

MAJOR 是主要版本。您可以在對程式碼進行重大更改後更新此號碼,例如徹底改變程式碼的工作方式。

MINOR 是次要版本。您可以在程式碼稍微更改後更新此號碼,例如新增新功能。

REVISION 是修訂號。在更改現有的次要版本 (例如修補程式) 後,您將更新此更新。

現在,再次版本是以點分隔的整數。所以,因為這樣,版本 1.1 = 1.01; 這兩個版本號是相同的,主要版本是 1,次要版本是 1 。

另一個例子,1.9 版本小於 1.10 版本; 小版本從九變為十。

因為 WordPress 使用 PHP 的 version_compare 函式,所以您必須按照這些方法進行版本編號。

請注意,WordPress 本身是一個次要的例外,因為核心從 2.9 到 3.0 。這是遺產,只是他們一直做編號的方式。它與 version_compare 功能相容,但一般來說,如果沒有重大的重寫來證明主要版本的顛簸,應該從 2.9 到 2.10 。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。