Wersjonowanie semantyczne: co to jest, czym nie jest i dlaczego jest potrzebne
Opublikowany: 2019-05-20Większość oprogramowania, z którego korzystasz, często wydaje nowe wersje, zwykle identyfikowane przez powiązany numer wersji. System nosi nazwę „wersjonowania semantycznego” i umożliwia śledzenie postępów w rozwoju. Co więcej, jeśli pracujesz z WordPressem, na pewno możesz skorzystać z dobrych praktyk wersjonowania semantycznego.
W tym artykule przedstawimy krótkie wprowadzenie do systemu wersjonowania semantycznego i jego działania. Następnie porozmawiamy o tym, kto może odnieść korzyści z jego używania i damy Ci kilka wskazówek, które pomogą Ci to zrobić dobrze.
Porozmawiajmy o liczbach!
Czym jest wersjonowanie semantyczne
Jeśli wejdziesz na stronę pobierania WordPress.org, zauważysz, że zawiera ona informację, jaką wersję systemu zarządzania treścią (CMS) pobierasz:

System używany do określenia tej liczby nazywa się „wersjonowaniem”. Dokładniej, patrzysz na przykład wersjonowania semantycznego, w którym wydanie jest podzielone na trzy liczby oddzielone kropkami. Przyjrzyjmy się, co oznacza każda z tych wartości:
- Wersja główna, która koreluje ze zmianami w API.
- Drobne aktualizacje oprogramowania, niewystarczająco znaczące, aby uzasadnić poważną aktualizację.
- Łatki lub poprawki błędów.
W chwili pisania tego tekstu korzystamy z WordPressa w wersji 5.1.1. Wersja 5.0.0 wyszła 6 grudnia 2018 roku. Od tego czasu mieliśmy pięć mniejszych poprawek (przyrosty w ostatecznej liczbie) i jedno mniejsze wydanie, w następującej kolejności:
- 5.0.1
- 5.0.2
- 5.0.3
- 5.0.4
- 5.1
- 5.1.1
Jak widać, numer łatki resetuje się za każdym razem, gdy pojawia się drobna aktualizacja. To samo dotyczy głównych wydań, które w przypadku WordPressa tradycyjnie zdarzają się mniej więcej co cztery miesiące.
Celem wersjonowania semantycznego jest umożliwienie śledzenia wszystkich dokonanych zmian i postępów. Co więcej, jeśli jesteś użytkownikiem końcowym i śledzisz nowe wydania, numery wersji informują Cię, kiedy aktualizacja jest naprawdę ważna. Na przykład, możesz pominąć łatkę lub dwie, ale za każdym razem, gdy pojawia się mniejsze lub większe wydanie, powinieneś zaktualizować (widzimy, wiesz!).
Jeśli nie jesteś pewien, czy aktualizacja jest tego warta, po prostu sprawdź dziennik zmian, który pojawia się przy każdym wydaniu. Każdy deweloper, który jest wart swojej soli, publikuje pisemny zapis tego, co nowego w każdym wydaniu.
Ogólnie rzecz biorąc, wersjonowanie semantyczne jest dość proste i przydatne w wielu sytuacjach poza tworzeniem oprogramowania. Porozmawiajmy o tym, co to jest.
Kto może odnieść korzyści z używania wersjonowania semantycznego?
Zwykle znajdziesz programistów, którzy używają systemów wersjonowania. Jeśli chodzi o WordPress, najbardziej oczywistymi przykładami są aktualizacje samego rdzenia. Jednak twórcy wtyczek i motywów również używają wersjonowania semantycznego, chociaż często trudno jest znaleźć liczby. Na przykład, jeśli sprawdzasz stronę wtyczki na WordPress.org, możesz znaleźć informacje o jej wydaniach i dziennikach zmian w zakładce Rozwój :

Podobnie możesz znaleźć informacje o rozwoju motywu na powiązanych stronach WordPress.org. Jednak w takim przypadku musisz kliknąć link Dziennik rozwoju u dołu strony:

Krótko mówiąc, wersjonowania semantycznego można używać w prawie każdym projekcie, który obejmuje kod. Jednak ma również zastosowania poza prostym programowaniem. Na przykład możesz zastosować przechowywanie wersji do projektów projektowych. Tutaj możesz chcieć zwiększyć numer wersji w celu wprowadzenia większych zmian wizualnych, wartości dodanych nowych elementów lub drobnych poprawek. Jeśli chodzi o poprawki, możesz je zarezerwować na drobne aktualizacje wizualne lub poprawki.
Jednak wersjonowanie semantyczne może być najpopularniejszą grą w mieście, ale nie jest to jedyny system, z którego możesz korzystać. Na przykład przeglądarka Chrome korzysta z czterosekcyjnego systemu wersji – major.minor.build.patch .
Inne projekty, takie jak Ubuntu, wykorzystują systemy oparte na datach. Na przykład Ubuntu jest obecnie w wersji 19.04, która, jak można się domyślić, została wydana w kwietniu 2019 roku.

Ogólnie rzecz biorąc, nie ma jednego systemu wersjonowania, który idealnie pasowałby do każdego rodzaju projektu. Jednak wersjonowanie semantyczne jest świetną opcją, jeśli pracujesz nad wszelkiego rodzaju tworzeniem oprogramowania. Ponadto jest to świetne wprowadzenie, jeśli nie używasz jeszcze żadnego protokołu wersjonowania.
3 najlepsze praktyki w zakresie wersjonowania semantycznego
Do tej pory wiesz już, jak działa wersjonowanie semantyczne. Omówmy jednak kilka wskazówek, aby upewnić się, że używasz go we właściwy sposób.
1. Nie zaczynaj od razu od wersji 1.0
W pewnym momencie prawdopodobnie używałeś oprogramowania, które nie pojawiło się jeszcze w wersji 1.0. Jest to całkowicie normalne, ponieważ użytkownicy oczekują, że wersja 1.0.0 będzie względnie stabilna i wolna od błędów. Prowadzi to jednak również do sytuacji, w których oprogramowanie zajmuje dużo czasu, aby osiągnąć tę liczbę, a jednocześnie jest w pełni użyteczne.
Weźmy na przykład popularną grę komputerową Dwarf Fortress. Jest w fazie rozwoju od około 15 lat i nadal jest w wersji 0.44.12, mimo że zawiera więcej funkcji niż większość głównych gier.

Chociaż można z tym posunąć się do skrajności, nie rozpoczynanie od razu wersji 1.0.0 ma sens. Umożliwia testowanie wersji beta oprogramowania i łagodzenie oczekiwań użytkowników, gdy to robisz.
Wewnętrznie powinieneś zacząć od wersji 0.1.0. Jednak większość projektów nie publikuje tej wersji, czekając, aż będą miały trochę więcej rozwoju na swoim koncie. W międzyczasie możesz jednak używać tych bardzo ograniczonych wersji alfa do testów wewnętrznych, co jest kluczem do zdrowego rozwoju każdego projektu.
2. Wyjaśnij konkretne zmiany dla każdej nowej wersji
Jedną z najbardziej irytujących sytuacji, w jakiej możesz się znaleźć jako użytkownik końcowy, jest otrzymywanie mnóstwa aktualizacji, nie wiedząc, co robią. Wiemy, że większość ludzi nie czyta dzienników zmian, ale jeśli zamierzasz opublikować aktualizację – nawet jeśli jest to tylko drobna łatka – musisz to udokumentować.

Changelogs, jak sama nazwa wskazuje, są prostym zestawieniem nowości w każdym wydaniu. Niektórzy programiści piszą długie aktualizacje, aby wyjaśnić każdą zmianę, a jeśli jesteś jednym z nich, więcej mocy dla ciebie.
Szczerze mówiąc, zazwyczaj zadowala nas prosta, zwięzła lista nowości. Tworzenie dziennika zmian jest proste i nie powinno zająć dużo czasu, więc bądź fajny i nie żałuj swoich obowiązków!
3. Zbierz opinie użytkowników dla każdego wydania
Prawdopodobnie dobrze wiesz, jak ma wyglądać Twój ukończony projekt. Nie oznacza to jednak, że możesz zrezygnować z opinii użytkowników lub reszty zespołu.
Idealnie byłoby, gdybyś otrzymał pewien poziom informacji zwrotnych dla każdego wydanego wydania, z wyjątkiem małych łatek i poprawek błędów. Celem tego procesu jest poinformowanie Cię, czy użytkownicy napotykają jakiekolwiek problemy lub mają problemy z kierunkiem, w którym zmierza projekt.
Najprostszym przykładem tego procesu w działaniu byłoby udostępnienie klientowi najnowszej wersji strony w toku. W zdecydowanej większości przypadków klienci będą mieli dla Ciebie pewien poziom informacji zwrotnych, które możesz uwzględnić w przyszłych wydaniach.
Pamiętaj jednak – słuchanie opinii jest ważne, ale w niektórych przypadkach możesz wiedzieć lepiej niż Twoi użytkownicy. Nie oznacza to jednak, że powinieneś je ignorować, ale czasami twoje przeczucie może mieć rację.
Wniosek
Wersjonowanie semantyczne to niezwykle prosty system. Za pomocą kilku liczb możesz przekazać wiele informacji o postępach w rozwoju projektu, powiadomić użytkowników o nowych ważnych aktualizacjach i ogólnie zorganizować wszystko.
Podsumujmy trzy najlepsze praktyki, o których należy pamiętać w przypadku wersjonowania semantycznego:
- Nie zaczynaj od pierwszej wersji z bramy.
- Wyjaśnij konkretne zmiany dla każdej nowej wersji.
- Zbierz opinie użytkowników dla każdej wersji.
Masz pytania dotyczące korzystania z wersjonowania semantycznego? Zapytaj w sekcji komentarzy poniżej!
Obraz miniatury artykułu autorstwa fatmawati achmada zaenuri / shutterstock.com
