2012-02-27 15 views
18

Uczę się, jak przypisywać i zwiększać numery wersji za pomocą reguły o nazwie "Wersja semantyczna" z http://semver.org/.Co oznacza "public api" w wersji semantycznej?

Spośród wszystkich jego zasad, pierwszy powiedział:

Software za pomocą Semantic Versioning musi zadeklarować publicznego API. Ten interfejs API może zostać zadeklarowany w samym kodzie lub istnieć wyłącznie w dokumentacji. Jednak to się robi, powinno być dokładne i wyczerpujące”

Jestem zagubiony«API publicznego». Co to patrz?

+0

Strona http://semver.org/ wydaje się wyjaśniać w kilku słowach, co to znaczy. Czy jest to aspekt "API" lub "publiczny", którego nie rozumiesz? Twoje pytanie prawdopodobnie należy do http://programmers.stackexchange.com/ –

+1

@BasileStarynkevitch wygląda na to, że odpowiedź została tam udzielona: http://programmers.stackexchange.com/questions/255190/how-does-semantic-versioning- apply-to-programs-without-api – icc97

Odpowiedz

5

API publiczna odnosi się do«punktu dostępu», że zewnętrzne Świat (użytkownicy, inne programy i/lub programiści, itp.) musi mieć na swoim oprogramowaniu

Np. jeśli tworzysz bibliotekę, publiczny interfejs API to zestaw wszystkich metod wywołań, które można wprowadzić do biblioteki

Istnieje zrozumienie, że dopóki nie zmieni się główna wersja, twoje API w będzie kompatybilny wstecz, tzn. wszystkie połączenia, które były ważne w wersji będą ważne w późniejszej wersji. można przeczytać w punkcie 9 z tych zasad:

głównej wersji X (x.y.z | X> 0) muszą być zwiększane jeśli jakieś niekompatybilne wstecz zmiany zostały wprowadzone do publicznego API.

+2

Ta odpowiedź jest niekompletna: Public API odnosi się również do publicznej dokumentacji dla wspomnianej biblioteki. Udokumentowane zachowanie to także coś, na czym można polegać. – ereOn

1

Wymaga publicznego interfejsu API w celu efektywnego zastosowania wzoru wersjonowania.

Na przykład:

Poprawki nie wpływające API zwiększamy wersję poprawki

wstecznie kompatybilne dodatki API/zmian przyrostowych mniejszą wersję, a ...

Backwards niezgodne API zmiany zwiększają główną wersję.

Co reprezentuje API jest subiektywne, a nawet państwa w doc SemVer:

ten może składać się z dokumentacją lub być egzekwowane przez samego kodu.