Nie uczyłem się programowania w szkole i nie pracuję jako (profesjonalny) programista, dlatego wiele podstaw nie jest dla mnie całkiem zrozumiałych. To pytanie próbuje wyjaśnić jedno z nich.
Teraz załóżmy, że mam problemy #1
, #2
a #3
w moim Issues Tracker że są ustawione zostać poprawione / wzmocnionej wersji 1.0.0
i że ostatni (stabilna) wersja jest 0.9.0
.
Kiedy powinienem inkrementować wersję 1.0.0
? Kiedy a) tylko jeden z wyżej wymienionych problemów jest zamknięty lub b) kiedy wszystkie problemy związane z wersją 1.0
są zamknięte?
Który z nich jest właściwy ? I właściwie to mam na myśli to, co jest obecnie stosowane w branży.
Odpowiedzi:
Mogę ci powiedzieć, jak to robię w pracy.
Posiadamy serwer ciągłej integracji, który buduje, testuje, taguje i generuje wersjonowany pakiet. Przejdziemy do następnego etapu tylko wtedy, gdy poprzedni zakończy się powodzeniem w 100%.
Nasza wersja wygląda następująco: <Wersja główna>. <Wersja mniejsza>. <Numer kompilacji>
źródło
1.4.2
brzmi: „ten zestaw poprawek i wszystko inne gotowe w tym czasie” ... Widziałem również1.4.2
jako „To zostanie wydane tego dnia z tym, co jest gotowe”. To zależy od twojego cyklu wydania.Numery wersji dotyczą tylko wydań , ponieważ umożliwiają użytkownikom zewnętrznym zidentyfikowanie konkretnej wersji oprogramowania. Jeśli jesteś zajęty programowaniem i nie wypuszczasz każdej poprawki osobno, nie martw się o zwiększenie numeru wersji dla każdej poprawki. Nie dotyczy użytkowników zewnętrznych i marnuje swój czas dzięki księgowości w dodatkowych wersjach.
źródło
W przypadku stale wdrażanych aplikacji internetowych zwykle budujemy numery kompilacji przy użyciu programu Symver z przodu i dostosowywania numerów kompilacji, tj .: 2.5.3.4328, gdzie 4328 pochodzi z systemu ciągłej integracji. Ogólne oczekiwanie jest takie, że liczby zmieniają się celowo, ale że numer kompilacji jest prawdziwym unikalnym identyfikatorem.
Wydaje się, że robi to tutaj, rejestrując dzień wdrożenia i związany z nim numer kompilacji svn:
Tyle ile jest warte.
źródło
Inne odpowiedzi są już świetne, więc dodam je tylko na górze. Jeśli twoje oprogramowanie nie zostało wydane i naprawdę nie potrzebujesz wersji publicznej (wersja niepubliczna to Twoja VCS), dodaj słowo kluczowe „ SNAPSHOT ” na końcu swojej wersji. Niektóre systemy, szczególnie w zarządzaniu zależnościami, traktują migawki inaczej niż wydane wersje, porównując datę zmiany migawek zamiast numeru wersji. Więc jeśli miałeś v. 1.0.0-SNAPSHOT od 8 rano w repozytorium pakietów, a lokalny program do pobierania zależności ma tę samą wersję od 7 rano, powinien pobrać zaktualizowaną wersję z repozytorium.
Jak wspomniano powyżej, twoja prywatna wersja jest zapewniana przez system kontroli wersji (git, svn itp.).
źródło
Jest wystarczająco dużo powiedziane na temat teorii wersjonowania tutaj jest inny punkt widzenia.
Skoncentruję swoją odpowiedź na zmianie głównego numeru wersji.
Moja odpowiedź brzmi: w zasadzie, kiedy jesteś na to gotowy. Przejście z wersji 0.9 na 1.0 to wielka sprawa, ponieważ opinia publiczna będzie polegać na przejściu z wersji beta na oficjalną wersję.
(Zakładam, że jest to produkt komercyjny firmy).
Kilka pytań przed przejściem od 0,9 do 1,0.
Czy Twoja organizacja ma czas poinformować wszystkich obecnych klientów? Urządzić imprezę. Uzyskaj wiele próśb o wsparcie. Menedżer konta do sprzedaży Twojego produktu? Itd itd.
Tak, widzę wersję jako narzędzie marketingowe, a jeśli się rozejrzysz, zobaczysz, że jest to w zasadzie standard branżowy.
Nasza firma przeszła z wersji 2.x do 3.0 i miała świetną imprezę, stworzyła wiele szumu i dzięki temu zyskała całkiem sporo nowych klientów. Oprócz niektórych aktualizacji interfejsu różnice między wersjami były dość niewielkie.
źródło