Jest to coś, na co będziesz musiał spojrzeć z kilku różnych punktów widzenia, ponieważ musisz wziąć pod uwagę potrzeby użytkowników, a także potrzeby oprogramowania i programistów.
Ogólnie rzecz biorąc, Twoi klienci nie będą zbytnio przejmować się tym, jaki będzie numer wersji oprogramowania, o ile wiedzą, że korzystają z czegoś nowszego (tj. Produkt 2012 jest nowszy niż Produkt 2010) i że wiedzą o tym jest aktualny, jeśli istnieją łatki, które można wdrożyć (np. Produkt 2012, aktualizacja 10). Jako takie, z punktu widzenia marki marki preferuję albo nazwane wydania (np. Windows XP, Windows Vista), a następnie ścisłą liczbę poprawek, które mogą być instalowane przez użytkowników.
To powiedziawszy jednak, pisanie oprogramowania, które sprawdza rzeczy łatwe dla użytkownika, sprawia, że kod pod maską jest znacznie trudniejszy do napisania. Dlatego wolę prosty Major.Minor
schemat wersji, choćby dlatego, że możesz wykonać proste porównanie liczb, aby sprawdzić, czy coś jest aktualne, jak poniżej:
// Check to see if we can handle the file version
if (this.Version < fileVersion) {
throw new UnsupportedFileException("The file version is " + fileVersion.toString() + " which is not supported");
}
// Do stuff ...
Mówiąc krótko, generalnie nie dbam o to, jak duża jest liczba mniejsza (tj. 1,1024), co pozwala powyższemu systemowi na dalsze działanie. Ogólnie rzecz biorąc, numery wersji są interesujące tylko dla wewnętrznego rozwoju i tak naprawdę nawet nie widziałem, żeby wpływały na coś znacznie więcej niż tylko nadanie im dodatkowej liczby do śledzenia.
Jednak powyższe dwa schematy tak naprawdę nie dotyczą tylko środowisk, w których stosuje się ciągłe wdrażanie (np. Stack Exchange), czyli tam, gdzie preferuję jakąś datę, po której następuje numer wersji, jak się wydaje na stosie na Exchange Exchange strony. Powodem tego jest to, że wersje będą się zbyt często zmieniać w środowisku ciągłego wdrażania i może istnieć wiele wersji kodu rosnących w tym samym dniu, co uzasadnia numer wersji, a bieżąca data jest tak dobra, jak każda inna, do zepsucia rzeczy jeszcze więcej. Teoretycznie możesz po prostu użyć numeru wersji do wszystkiego, ale użycie bieżącej daty pozwala na wewnętrzne śledzenie głównych kamieni milowych, które mogłyby ułatwić omawianie.