2012-02-27 53 views
18

我正在學習如何使用名爲「語義版本」的規則從http://semver.org/分配和增加版本號。「public api」在語義版本控制中意味着什麼?

在它的所有規則,第一個說:

軟件使用語義版本必須聲明一個公共的API。這個API可以在代碼本身聲明或嚴格存在於文檔中。但是它完成,它應該是準確和全面」

我感到困惑的‘公共的API’。這是什麼參考?

+0

http://semver.org/網站似乎用幾句話來解釋它的含義。或者它是你不明白的「API」或「公共」方面?你的問題可能屬於http://programmers.stackexchange.com/ – 2012-02-27 10:47:37

+1

@BasileStarynkevitch它看起來像它已經在那裏回答:http://programmers.stackexchange.com/questions/255190/how-does-semantic-versioning- apply-to-programs-without-api – icc97 2015-02-26 23:27:15

回答

5

公共API是指‘接入點’,外部世界(用戶,其他程序員和/或程序員等)必須使用你的軟件

例如,如果你正在開發一個庫,公共API是所有可用於你的庫的方法調用的集合

有一種理解,除非主版本發生變化,否則你的API w不適合向後兼容,即所有在版本上有效的調用都將在更高版本中生效。 您可以在這些規則的點9讀:

主要版本X(X.Y.Z | X> 0)必須增加,如果任何不兼容向後變更向公衆介紹了API。

+2

這個答案是不完整的:公共API也指上述庫的公共文檔。記錄的行爲也是必須依賴的。 – ereOn 2015-01-27 22:16:07

1

它需要一個公共API來有效地應用它的版本模式。

例如:

不影響API

Bug修復遞增補丁版本

向後兼容的API添加/修改增加的次要 版本,...

向後兼容的API改變增加主要版本。

什麼代表你的API是主觀的,因爲他們甚至國家在SemVer DOC:

這可能包括文檔或通過代碼本身執行。