Bardzo podoba mi się schemat wersji semantycznej, ale ma on sens tylko w przypadku interfejsów API, ponieważ koncentruje się na przełamywaniu zmian i kompatybilności wstecznej. W przypadku nie-API, np. oprogramowanie użytkownika końcowego, wiele reguł nie ma już większego sensu. Na przykład sama koncepcja kompatybilności wstecznej tak naprawdę nie ma znaczenia; użytkownik doświadcza nowych funkcji lub ich nie ma, mniej błędów lub ich nie ma itp. Korzystałbym jednak z klarownego schematu dla wersji xyz, który jest zgodny z duchem wersji semantycznej, aby użytkownicy mogli mieć pojęcie, czego się spodziewać z nowych numerów wersji, jeśli znają schemat.Czy istnieje równoważny schemat do wersji semantycznej dla oprogramowania nieinterfejsowego?
Próbowałem szkicując coś takiego jak:
- Bump Z Jeżeli dokonywania wewnętrznych zmian w kodzie (np poprawek, refactoring), które nie zmieniają wrażenia użytkownika. Mogą zawierać nowe funkcje "wewnętrzne".
- Bump y przy dodawaniu funkcji, które zmieniają doświadczenia użytkownika poza poprawkami błędów do bieżących funkcji.
- Bump x ... ??? ... radykalnie różne zmiany w odczuciach użytkownika? Co jest radykalnie różne?
- początkowym rozwoju alfa występuje w 0.0.z
- Pierwsze wydanie beta badania jest ustawiony 0.1.0 i pozostaje 0.yz
- Pierwsze wydanie użytkownika jest ustawiony na 1.0.0
innym Pomysł polega na zrobieniu x uderzeń, gdy funkcje, które są usunięte, ponieważ niektórzy użytkownicy mogą na nich polegać, ale w niektórych przypadkach może się to wydawać nieuzasadnione. (Powiedzmy, że znamy wszystkich użytkowników i wszyscy oni chcą, aby usunięto bardzo małą funkcję. Przechodzenie z wersji 1.0 na 2.0 byłoby nieco sprzeczne z intuicją.)
Jest to bardziej subiektywne niż Semantyczne Wersjonowanie, ponieważ łatwiej jest obiektywnie zidentyfikować funkcje kompatybilne z poprzednimi wersjami i funkcje łamania API. Czy są jakieś "znormalizowane" schematy wersjonowania, które mogę zbadać, aby uzyskać więcej wskazówek?
Jak już zauważono, edycja semantyczna nie polega na zarządzaniu subiektywnymi cechami/cechami marketingowymi kodu, dotyczy obiektywnej zgodności. Dlaczego potrzebujesz tego lub chcesz? – earcam