Čísla verzí aplikací

Školení, která pořádám

Nemám rád beta verze, release candidate a další harampádí. Tak buď aplikace funguje a může se vydat, nebo ne a ještě se musí vyvíjet, ne? Pokud existuje veřejný přístup k vývojové verzi (případně k jejím sestavením), tak si ji může kdokoliv vyzkoušet kdykoliv. Beta verzi chápu jen jakýsi tlak na uživatele, aby si vývojovou verzi vyzkoušeli, a také politické rozhodnutí, že „to už bude tedy ono“ (což se ale často stejně nedodrží).

Stejně tak se mi nelíbí čísla verzí začínající nulou. Když aplikace funguje a nežere data, tak je na čase vydat verzi 1. K doplňování funkčnosti jsou desetinky, k zásadnějšímu přepisu celá čísla verzí. Verze začínající nulou beru jako přehnanou skromnost nebo zbytečný alibismus.

Pak to vypadá tak, že běžně používaný Sphinx nebo eAccelerator jsou už čtyři roky ve verzi 0.9, The Bat vyšel ve verzi 3.99.25 nebo PHP-GTK zůstalo skoro dva roky ve stavu „zeta“ (šesté písmeno řecké abecedy). A ano, platí to i pro Nette, které by si podle mě spíš zasloužilo číslo verze 1.3.

Jakub Vrána, Dobře míněné rady, 3.5.2010, diskuse: 11 (nové: 0)

Diskuse

Vojtěch Vondra:

Nabídnu konkrétní příklad, kde se naopak postupné vydávání verzích (beta, rc) vyplatí.

U projektu phpBB každá aktualizace zasáhne desítky tisíc fór a v mnoha případech nejde o pětiminutovou proceduru. Systém je rozsáhly a i týmu testerů, kterých je několik desítek, se nepodaří nasimulovat podmínky, které panují na různých instalacích, a chyby jim mohou proklouznout. RC vydání před každou aktualizací zpřístupní balík plánovaný k vydání širšímu okruhu lidí v komunitě a umožní vyzkoušet běh na dalších stovkách prostředích. Přestože to není 100%, zatím se za skoro tři roky objevila pouze jediná chyba, která si vyžádala mimořádné vydání nové verze. Dalším známým příkladem může být Opera nebo Firefox.

Jde hodně o velikost projektu a místní podmínky, rozhodně bych to takhle nepaušalizoval. S čím ale souhlasím je to, že se kdejaká blbina spokojí s dvoumístním verzováním a nemusí hned dodržovat verzování jak u kernelů.

Lukas Mach:

Muj program treba funguje statisticky tak na kazdem ctvrtem datasetu, takze verze 0.3 tomu celkem odpovida.

ikona David Majda:

Kdysi dávno jsem někde četl dvě jednoduché definice:

- Alfa verze je verze, kde je dle vývojářů všechno hotovo, a je předána k internímu testování.

- Beta verze je verze, kde je dle vývojářů všechno hotovo, prošla interním testováním a je třeba ji ozkoušet v terénu na reálných uživatelích.

Myslím, že takhle to docela dává smysl a je škoda, že došlo k posunu těchto termínů někam úplně jinam.

Verze začínající nulou taky nemám rád a osobně je používám prakticky jen v případě, kdy vím, že v daném produktu jsou závažné známé chyby/nedodělky a zároveň mám poměrně přesnou představu o tom, jak bude vypadat verze 1.0. Myslím, že je to oprávněné, protože uživatel pak nečeká stabilitu. Produkt by ale v tomhle stavu IMO neměl zůstat moc dlouho.

ikona Joelp:

Já jsem už 2 roky ve verzi 0.x jen proto, že vím co všechno má verze 1.0 umět, ale stále neumí. Navíc je tlak aplikaci používat i bez těchto funkčností.

Jinak souhlasím s Davidem Majdou.

ikona v6ak:

Tak tak, to je přesně můj argument pro verze 0.*. Prostě existuje nějaká představa a ta je 1.0.

ikona Robert Vlach:

Zlatá slova! Verzování Nette je asi jediným důvodem, proč jsem tento framework zatím nezačal používat na svých ostrých projektech. Furt si říkám, „počkej si na jedničku, až David vychytá alespoň ty největší mouchy“ :-)))

wix:

presne :)..vyborna formulace "ostatni harampadi" :)

Andrew:

Také nemám rád verze začínající nulou i když chápu, co tím asi autor chtěl říct. Bohužel spousta projektů u nul setrvává velmi dlouho.
Beta, RC a podobné "harampádí" jsou velmi důležité. Je jasné, že si kdykoliv kdokoliv může stáhnout vývojovou verzi. Ale vývojová verze rozhodně není to samé, co beta. Vývojová verze je to, co jsem zrovna commitnul a může se to ještě zhusta měnit a třeba obsahovat i fatální chyby.
U alfa, beta a RC vím, co mohu ještě očekávat za změny a je to jakžtakž funkční. Ve chvíli, kdy si bastlíš něco sám, tak ti to může být fuk, ale když pro tvůj projekt další hromada programátorů vyvíjí doplňky, je pro ně důležité, jaké změny mohou očekávat (zda změny v rozhraní, funkčnosti nebo už jen opravy chyb). U práce na velkém projektu je to tedy velmi důležité.
V neposlední řadě musím zmínit i uživatele. Nainstalovat si nějaký program z vývojové větve pro jiné než testovací účely je typicky naprostá blbost. Může se ale naskytnout situace, kdy budu potřebovat mít novou verzi dřív, než bude stabilní. Typicky když předchozí verze neumí něco, co nutně potřebuji (např. podpora hardwaru). Pak mohou být beta a RC verze jakýmsi, byť nedokonalým, vysvobozením - mám něco, co je kompletní, jakžtakž funkční a řeší to můj problém.
Ve firemním prostředí pak tyto verze opět mohou sloužit pro demonstraci a připomínkování zákazníkovi a opět je nemůže nahradit vývojová verze, na které všichni stále ještě pracují.
Neříkám, že všichni vývojáři používají toto označování jak mají, ale rozhodně to není "ostatní harampádí".

ic:

nebo gmail... 5 let beta

-----------:

alibismus

Borek:

Nulu na začátku taky nechápu, vždycky přece pracuju minimálně na první verzi projektu...

Vložit komentář

Používejte diakritiku. Vstup se chápe jako čistý text, ale URL budou převedeny na odkazy a PHP kód uzavřený do <?php ?> bude zvýrazněn. Pokud máte dotaz, který nesouvisí s článkem, zkuste raději diskusi o PHP, zde se odpovědi pravděpodobně nedočkáte.

Jméno: URL:

avatar © 2005-2018 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.