2012-02-27 16 views
18

私はhttp://semver.org/から "セマンティックバージョニング"というルールでバージョン番号を割り当てて増やす方法を学んでいます。すべてのルールの中でセマンティックバージョニングで「パブリックAPI」とは何を意味していますか?

、最初の1は言った:セマンティックバージョニングを使用して

ソフトウェアは、公開APIを宣言する必要があります。このAPIは、コード自体で宣言することも、ドキュメントに厳密に存在させることもできます。しかし、それが行われ、それが正確かつ包括的である必要があり、パブリックAPI」

私は約混乱しています 『』。それは何?

+0

http://semver.org/サイトでは、何を意味するのかを少し説明しているようです。それとも、あなたが理解していない「API」または「パブリック」ファセットですか?あなたの質問はおそらくhttp://programmers.stackexchange.com/ –

+1

@BasileStarynkevitchに属しています。それはそこに答えられているようです:http://programmers.stackexchange.com/questions/255190/how-does-semantic-versioning- apply-to-programs-without-api – icc97

答えて

5

公開APIを参照しないことを意味し、 『アクセスポイント』という外部

たとえば、ライブラリを開発している場合、パブリックAPIはライブラリに作成できるすべてのメソッドの呼び出しのセットです(ユーザー、その他のプログラムやプログラマなど)。

メジャーバージョンが変更されない限り、API w下位互換性がありません。つまり、あるバージョンで有効だったすべてのコールは、後のバージョンで有効になります。あなたはこれらのルールの点9で読むことができます :

メジャーバージョンX(X.Y.Z | X> 0)を任意の後方互換性のない変更は、公開APIに導入されている場合は増加しなければなりません。

+2

この回答は不完全です。パブリックAPIは、前記ライブラリの公開ドキュメントを参照します。文書化された行動は、頼ることができるものでもあります。 – ereOn

1

有効にバージョンパターンを適用するには、公開APIが必要です。例えば

を下位互換性のあるAPIの追加/変更はマイナー バージョンをインクリメントAPI増分にパッチバージョン

に影響を与える、と...ない

バグ修正後方互換性のないAPI変更はメジャーバージョンを増やします。

これはドキュメントから構成することができるか、コード自体によって強制さ:SemVerドキュメントにおける彼らも状態として、あなたのAPIを表し何

は、主観的です。

関連する問題