Szoftver verziószámozás

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. május 27-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .

Egy sikeres számítógépes program életciklusa nagyon hosszú lehet; a programban végrehajtott változtatások eltérőek – a hibajavítástól a teljes újraírásig. A legtöbb esetben a program neve változatlan marad, az alnév megváltozik - az úgynevezett verzió .

A program verziója lehet egész szám ( Corel Draw 11), számsorozat ( JDK 1.0.3), évszám ( Windows 2000 ) vagy szöveg ( Embarcadero Delphi XE). Mindenesetre a verziószámítási rendszert több szempont szerint választják ki:

Néha az emberi hiba jelenléte a verziószámok létrehozásában hibákhoz vezet a verzióváltás során. Például a fejlesztők akkor is módosíthatják a verziószámot, ha egyetlen kódsort sem írtak át annak érdekében, hogy azt a hamis benyomást keltsék, mintha jelentős változtatásokat hajtottak volna végre.

Számozási sémák

Sorozatszámok

Kezdetben a műsorszámokat 1-es, 2- es , 3-as stb. számmal látták el – hasonlóan a könyvkiadásokhoz . Ezenkívül a sorozatszámok alapulhatnak valamilyen technikai számlálón (például egy verzióvezérlő rendszer verziószámán ).

Manapság a sorozatszámok a ritkán kiadott, már stabil programokat jelölik. Például Corel Draw 11, Windows 10 . Az ilyen programoknál a kisebb szervizmódosításokat általában "szőnyeg alá söprik" a látható verzió megváltoztatása nélkül (csak a műszaki verzió módosítása, amely például a "Névjegy" menüből érhető el). Az új funkciókat bevezető, de új termékhez nem vezető jelentős változtatásokat általában tizedesjegyekkel jelölik ( Windows 8.1 ).

Tizedes tört

Történelmileg az első számozási módszer, amely elválasztja egymástól a kisebb és nagyobb változtatásokat.

A verziószám egy amerikai tizedesjegy (pontozott ) . Például az első verzió az 1.0 számot kapja, a következő - 1.1, kis változtatással - 1.11, új termék jön létre új funkcióval - 2.0. Minél jobban nő a tört, annál jelentősebb a változás. A fejlesztők néha a 2.0-s verzióról egyenesen a 2.5-ösre ugranak, például annak jelzésére, hogy néhány fontos funkciót adnak a programhoz, de nem elég ahhoz, hogy módosítsák a fő verziószámot ( Turbo Pascal 5.0 → 5.5).

Az előzetes, nem hivatalos verzióknál 1-nél kisebb számokat használnak: mondjuk 0,1 vagy 0,9.

A változatokat a tizedes törtek szabályai szerint hasonlítjuk össze: 0,9 < 1,0 < 1,01 < 1,1 = 1,10 < 1,11 < 1,2 = 1,20 < 2,0 < 2,5.

Számsor

Ezt a módszert alkalmazzák például a Windows API -ban . A verzió több számból (általában háromból) áll, amelyeket egy pont választ el egymástól: például 1.5.2. Az első a fő verzió ( major ), a második a kisebb ( minor ), a harmadik a kisebb változtatások ( karbantartás , mikro ).

Ha az egyik szám növekszik, akkor mindegyik nullára áll vissza: 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.2.0, 1.2.1, 2.0.0 ... Az utolsó nulla lehet kihagyva: 1.0.0 = 1.0.

A Unix-könyvtárak a current.revision.age verziószámítási sémát használják . A jelenlegi az aktuális API-szám, a revízió az ugyanazon API-n belüli verziók számlálója, az életkor pedig a támogatott API legújabb és első verziója közötti különbség [1] .

A verziók szeniorságának meghatározásához először a régebbi verziókat, majd a fiatalabbakat, majd a mikroszámokat hasonlítjuk össze egész számokkal: < 2.0.0.

Néha a negyedik szám az összeállítási szám folyamatos számozással. Ez a szám minden kiadásnál eggyel növekedhet (1.0.0.1 < 1.0.1.2 < 1.0.2.3 < 1.1.0.4), vagy valamilyen technikai számlálóból származhat (fordítások, éjszakai buildek , kódverziók a verzióvezérlő rendszerben  - pl. 1.5.2.7682). A Microsoft Office-ban a negyedik szám a kiadás dátumát kódolja [2] .

Ismét az 1.0 tekinthető az első hivatalos kiadásnak; 0.1 vagy 0.9 előzetes kiadás.

Levél mellékváltozatként

Néha egy betűt használnak a harmadik szám helyett. Tehát, amikor hibát találtak a DotA 6.42 -ben, az új verzió a 6.42b nevet kapta. Ez azt jelenti, hogy a játék ugyanaz marad, ugyanazzal az akadályelhelyezéssel és ugyanazzal a mérleggel , de egy hiba javítva. A további hibajavításokra 6.42c, 6.42d stb. néven hivatkozunk.

Fejlődési szakasz

Ha a fejlesztőnek szabadúszó tesztelőkre kell támaszkodnia , a kiadás jelezheti a program érettségi szintjét: alfa, béta, kiadásjelölt, végleges kiadás, hibajavítás ( szolgáltatási kiadás ).

Például 2,0 alfa1 < 2,0 alfa2 < 2,0 béta < 2,0 rc1 < 2,0 < 2,0 sr1.

Különféle sémák léteznek a fejlesztési szakaszok kijelölésére. Például a harmadik szám jelentése:

Például:

A cégen belül a fejlesztési szakasz is feltüntethető (például 1.2.3 < 1.2.3r9 < 1.2.4), míg a hivatalos kiadásoknál ez nem így van - például a tesztelők összetévesztésének elkerülése vagy néhány verziót az ügyfélnek - talán instabil, de javítja a hibáját.

Az 1.0 és 2.6.x sorozatok között a Linux kernel páratlan számokat használt a béta kiadásokhoz, és páros számokat a stabil kiadásokhoz. Például a Linux 2.3 volt a fejlesztési sorozat, a Linux 2.4 pedig az a stabil kiadási sorozat, amelyvé a Linux 2.3 fejlődött. A Linux kernel kiadási számát először a kisebb verziószámmal, majd a kiadási számmal írtuk fel növekvő sorrendben. Például Linux 2.4.0 → Linux 2.4.22. A 2.6 2004-es kiadása óta a Linux már nem használja ezt a rendszert, a kiadási ciklus most sokkal rövidebb. Most egyszerűen növelik a harmadik számot, szükség esetén a negyediket használják.

Ugyanezt a páros-páratlan rendszert használják néhány más hosszú ciklusú termék, például a GNOME.

Alfanumerikus cím

Leggyakrabban használt szoftver, nagy múlttal és ritkán kiadott verziókkal ( Windows Vista ).

Ha a verziószámláló túl messzire ment, és vissza kell állítani, akkor az alfabetikus kódok is használatosak: Adobe Photoshop 7.0 < CS < CS2 < ... < CS6 < CC < CC 2014.

Néha egy alfanumerikus alnév is használatos a normál verzió mellett: Ubuntu 9.04 Jaunty Jackalope , Embarcadero Delphi 10.2 Tokyo .

Dátum

A kiadás évét leggyakrabban a ritkán kiadott verziójú szoftvereknél használják, például: Windows Server 2003 , Microsoft Office 2014.

A Wine projekt fejlesztői is először dátumokat használtak a verziók számozásánál, feltüntették a megjelenés évét, hónapját és napját: "Wine 20040505". A Wine jelenleg "standard" kiadási számozást használ, a legutóbbi 2010-es kiadás az 1.2. Az Ubuntu Linux cég hasonló számozási sémát használ, a 2010. októberi kiadás például az Ubuntu 10.10 számozást kapta. A Microsoft jelenleg hasonló sémát használ a Windows 10 frissítéseinek számozására, bár ezek verziószáma általában 1-gyel kisebb, mint a hónapszám, például a Fall Creators Update (1709) 2017. október 17-én jelent meg, és a 2018. áprilisi frissítés ( 1803) annak ellenére, hogy a címben szereplő „03” szám 2018 áprilisában jelent meg.

Ha dátumokat használunk a verziószámozásban, akkor az ISO év-hónap-nap sémát kell használni (ez megkönnyíti a verziók összehasonlítását a szenioritás szempontjából), és a kötőjel elhagyható.

Belső verziók

A program gyakran rendelkezik kereskedelmi névvel és belső verzióval is, amelyet minden szabály szerint összeállítottak. Például a Java SE 5.0 belső verziója 1.5.0, a Windows 7 pedig  6.1 [3] . A Windows-fájlok különféle összeállításainak elnevezése lehet, például 6.1.7600.16385.

Hasonló műszaki változatokat hasonlítanak össze a katonakutya cédulával [2] . Csakúgy, mint a csatatéren, szükség esetén szükség van rájuk – amikor a program nem úgy működik, ahogy kellene, és fel kell venni a kapcsolatot a fejlesztővel.

Egzotikus sémák

Donald Knuth megszámozza a Τ Ε Χ számítógépes betűszedő rendszer verzióit a számok egymás utáni közelítésével : 3,0 < 3,1 < 3,14 stb. Az utolsó stabil kiadási szám: 3,141592653. A METAFONT nyelvű Donald Knuth egy másik agyszüleménye változatai az e számhoz való közelítéssel vannak számozva . A 2008. márciusi verzió a 2.718281 számot kapta.

A SuSE Linux 4.2-vel kezdte a verziószámítást, Douglas Adams híres könyvére való hivatkozásként .

A verziószámok jelentése

Az 1.0-s verzió a fejlesztés legfontosabb mérföldköve

A kereskedelmi programok általában 1.0-tól kezdik el számozni a verzióikat. Még azt is tartják, hogy az 1.0-s verzió kizárólag durva, ezért mielőbb el kell érni az 1.2-t vagy akár a 2.0-t.

Az ingyenes és nyílt forráskódú szoftverekben az 1.0-t tekintik annak a pontnak, amikor a program készen áll a nem szakemberek általi széles körű használatra. Ugyanakkor a program kezdeti verziói 0.1, 0.2 stb. számmal vannak ellátva. A FreeDOS 2006-ban érkezett az 1.0-s verzióhoz - amikor a DOS-t gyakorlatilag sehol nem használták. A MAME nyerőgép emulátor soha nem éri el az 1.0-s verziót, mert a játékgépek története a mai napig tart.

Marketing, babona és OCD

Ahhoz, hogy a név szebb legyen, a kereskedelmi szoftvereknek marketingeseket kell bevonniuk. Például a tetrafóbia gyakori az ázsiai országokban , így a 4-es szám kerülendő a verziószámokban, Európában a 13-as szám szerencsétlennek számít, vagy kihagyják, vagy X3-ra cserélik.

Ha a program története nagyon hosszú, néha vissza kell állítani: Adobe Photoshop 7.0 < 8.0 < CS < CS2.

Az egyik ok, amiért nem volt Winamp 4, a szójáték volt : Winamp 4 skin és angol.  fityma  - "fityma" [4] .

Kihagyások a verziókban

Néha a fejlesztő kihagy egy verziószámot, hogy lépést tartson a versenytársakkal vagy ugyanazon cég más termékeivel: például a Microsoft Access 2.0-ról 7.0-ra ugrott. A Netscape Communicator kihagyta az 5-ös verziót, mivel az Internet Explorer elérte a 6.0-t; az 5.0-s verzió mellett a User-Agent kiemelt tesztkiadásaiban a Mozilla Suite böngészőben .

A Sun Solaris csökkentette az első számjegyet: a 2,8-at és a 2,9-et 8-nak és 9-nek nevezték a marketinganyagok; A Java SE 1.5.0 és 1.6.0 olyan, mint a Java 5 és 6. A Slackware Linux 1999-ben a 4-es verzióról egyenesen a 7-es verzióra ugrott.

A Microsoft Windows 10 a 8.1 után jelenik meg.

A PHP 5-ről 7-re ugrik, ennek az az oka, hogy a 6-os verzió felkapottnak bizonyult, de megvalósíthatatlan, és számos újítása az 5. ághoz kapcsolódott [5] .

Verzió elsőbbségi algoritmusok

Gyakran programozottan meg kell határoznia, hogy a két verzió közül melyik a régebbi – például a " buborékok " 2000 óta támogatottak a Windowsban [6] , a korábbi verziókban pedig másképp kell ezt csinálni. Az ilyen ellenőrzés meglehetősen bonyolult szabályok szerint történik: például ha a verzió egy tizedes tört, először össze kell hasonlítani az egész részeket számokkal; ha egyenlőek, akkor a törtek olyanok, mint a karakterláncok . Ha a változat számok hármasa vagy négyszerese, akkor a számokat egyenként hasonlítják össze, amíg az egyenlőtlenséget rögzítik.

Mivel a túl bonyolult algoritmusok tele vannak hibákkal [7] , és nincs mindig idő az egységtesztek megírására , gyakran beérik az egyszerűsített opciókkal: például bitmezők segítségével hosszú számokat építenek ( 1.2.3.4 → 01020304 16 ) ; vagy lexikográfiai sorrendben karakterláncként hasonlítsa össze a változatokat . Az első nem fog működni, ha az egyik szám meghaladja a 256-ot (1.0.257 < 1.1.0, de 010101 16 > 010100 16 ), a második nem működik, ha megjelenik a 10-es verzió (9.5 < 10.0, de "9.5" > "10.0").

Néha az ilyen egyszerűsítések kegyetlen viccet játszanak: a Windows népszerűségének korai éveiben kiderült, hogy sok program helytelenül ellenőrizte az operációs rendszer verzióját, és megtagadta a 4.0 alatti működést. Ezért a Windows 95 és a Windows 98 belső verziója 3.95 és 3.98 volt [8] .

Hasonló trükköket alkalmaztak az Opera böngésző User-Agentjében is, amikor a 9.64-es verzióról 10.00-ra váltottak. Ennek az az oka, hogy egyes webhelyek, amelyek válaszoltak a User-Agentre, vagy karakterláncként hasonlították össze a számokat (10,0 < 9,5), vagy vették az első számjegyet (10,0 = 1,0) [9] . A fejlesztőknek az Opera/10.00 helyett az Opera/9.80 jelölést kellett használniuk, és a tényleges verziószámot a UserAgent [10] végére kellett adniuk . A tervek szerint a UserAgent 11. verziójára már ismerős megjelenést ölt majd, de ezt a trükköt a Blink motorra való átállásig (2013 elejéig - annak ellenére, hogy a 10. verzióra még 2009-ben megtörtént) használták. ).

A PHP -nek van egy speciális funkciója version_compare()a verzió elsőbbségének meghatározására [11] .

Szoftveres számozási sémák alkalmazása a kultúra más területein

Külső linkek

Lásd még

Jegyzetek

  1. Verziókezelés . Letöltve: 2017. november 17. Az eredetiből archiválva : 2019. szeptember 27.
  2. 1 2 Egyáltalán mit tartalmaz a verziószám? . Letöltve: 2017. november 18. Az eredetiből archiválva : 2017. december 1..
  3. Windows 7 telepítési GYIK . Letöltve: 2017. október 29. Az eredetiből archiválva : 2017. december 1..
  4. GYIK - Winamp súgó (lefelé hivatkozás) . Letöltve: 2011. május 6. Az eredetiből archiválva : 2013. december 19. 
  5. A PHP következő verziója a PHP 7/Habrahabr lesz . Letöltve: 2015. május 20. Az eredetiből archiválva : 2015. május 20.
  6. Struktúra NOTIFYICONDATAaz MSDN-n . Letöltve: 2011. május 7. Az eredetiből archiválva : 2011. június 12.
  7. ↑ Az Embarcadero Quality Central szolgáltatásának lebontásaCheckWin32Version (lefelé irányuló kapcsolat) . Letöltve: 2011. május 7. Az eredetiből archiválva : 2013. július 29. 
  8. Hibás verziószám ellenőrzések . Letöltve: 2011. május 6. Az eredetiből archiválva : 2013. január 16..
  9. Andreas Bovens. Változások az Opera felhasználói ügynök karakterlánc-formátumában  (eng.)  (nem elérhető hivatkozás) (2009. május 27.). - Az AserAgent formátum változásainak okainak leírása. Hozzáférés dátuma: 2011. június 18. Az eredetiből archiválva : 2012. február 22.
  10. Például:Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.8.131 Version/11.11
  11. version_compare() . Letöltve: 2013. november 17. Az eredetiből archiválva : 2014. április 23..