2010-09-29 11 views

Odpowiedz

130

Zwykła metoda Widziałem to XYZ, który generalnie odpowiada major.minor.patch:

  • Ważniejsze numery wersji zmieniają się, gdy wprowadzana jest znacząca zmiana. Na przykład duża lub potencjalnie niekompatybilna wstecz zmiana w pakiecie oprogramowania.
  • Niewielkie numery wersji zmieniają się po wprowadzeniu nowej, mniejszej funkcji lub po wprowadzeniu zestawu mniejszych funkcji.
  • Numery paskowe zmieniają się po udostępnieniu klientom nowej wersji oprogramowania. Zazwyczaj dotyczy to drobnych poprawek błędów lub podobnych.

Inne odmiany używają numerów kompilacji jako dodatkowego identyfikatora. Więc możesz mieć dużą liczbę dla X.Y.Z.build, jeśli masz wiele wersji testowanych między wersjami. Używam kilku pakietów, które są identyfikowane przez rok/miesiąc lub rok/wydanie. W związku z tym wydanie w miesiącu wrześniu 2010 r. Może mieć wartość 2010.9 lub 2010.3 w przypadku trzeciego wydania tego roku.

Istnieje wiele wariantów wersji. Wszystko sprowadza się do osobistych preferencji.

Dla "1.3v1.1", mogą to być dwa różne produkty wewnętrzne, coś, co byłoby wspólną biblioteką/bazą kodów, która jest różna od produktu głównego; może to oznaczać wersję 1.3 dla głównego produktu oraz wersję 1.1 wewnętrznej biblioteki/pakietu.

11

Wikipedia ma dość obszerną answer że może być dobrym miejscem do rozpoczęcia

+1

w rzeczywistości artykuł ten nie jest napisany bardzo dobrze, ale mam teraz lepszy pomysł, dziękuję. –

38

Może Ci się przydać Semantic Versioning Specification.

+1

SemVer powinien stać się proponowanym standardem i ponownie opublikowany w formacie RFC. – alecov

+1

Co należy zrobić, jeśli Twój kod nie oferuje publicznego interfejsu API, zobacz: http://programmers.stackexchange.com/questions/255190/how-does-semantic-versioning-apply-to-programs-without-api – cyclingLinguist

+0

Jest to przydatne tylko w kontekście bibliotek oprogramowania. – Kais

Powiązane problemy