Programozásban nem mindig a legújabb a legjobb?
Vannak szerverek (MySQL, Apache, MariaDB stb.) és programozási nyelvek (Java, PHP, Python stb.) amikből 1-2 éves régebbi verziókat használnak és van, hogy főverzióval régebbieket.
Ennek mi az oka?
Hogy mi a jó, meg mi a rossz, az azért sokszor elég szubjektív.
Viszont ha éles rendszert működtetsz, akkor nem tanácsos kísérletezni. Ha mindig reflexből a legújabbra váltasz, már a megjelenés pillanatában, akkor elég sok kellemetlen élményben lehet részed. Akkor célszerű váltani, amikor már kiderültek az adott szoftver vagy rendszer előnyei, hátrányai, gyengeségei, hibái.
A szoftverek komplexek, főleg azok, amiket ilyen 10-20 éve fejlesztenek. Ha kijön egy új verzió, akkor tartalmazhat olyan hibákat, amit a szoftver készítői nem vettek észre, de a projektedet érinti. Ezért amikor valami fontos komponensnél major verziót ugranak a projekten, akkor újra kell tesztelni szinte mindent. Szerencsés esetben ennek nagy része automata tesztekkel elvégezhető, de így is úgy is extra időt és pénzt igényel, amire általában nem akarnak áldozni a pénzcsapot nyitó-záró emberek, pláne hogy az ő szempontjukból nem sok haszna van a verzió lépésnek.
Egy másik példa, ami engem már érintett egy projekten, hogy nem normális fejlesztők ráépítenek kódot egy bugra. Konkrétan a java valamelyik szám formázó osztályában volt egy hiba. Ezt hősünk úgy kerülte ki, hogy széndékosan úgy alakított inputot adott be a kódban, amire az osztály jó outputot adott a bug miatt. Na most, amikor emeltünk java verziót, akkor oraclenél megjavították ezt a bugot és elkezdett törni egy csomó automata teszt + nyilván a szoftver is rosszul működött.
Másik eset, hogy ugye vannak deprecated kódok/feature-ök. Időnként bizonyos dolgokat megjelölnek a komponensek fejlesztői, hogy ez a kódrészlet mondjuk 2 verzió múlva törölve lesz, szóval ne használd és frissítsd a régi kódjaidat. Tipikusan nem szokták az emberek a régi kódjaikat ilyenek miatt frissíteni és amikor kitörlik egy könyvtárból a deprecated kódokat, akkor az arra épülő projekt nem fog működni. Ezt javítani megint idő.
Még egy példa, hogy nem mindehol sz*roznak ilyen deprecated kód tageléssel és/vagy egyszerűen nem figyelnek a visszafele kompatibilitásra és szó szerint bármi eltörhet két verzió között. Ismét teljes tesztelést igényel a verzió emelés.
De, nagy átlagban elmondhatjuk, hogy jó ha mindig mindenből a legfrissebbet használod, csak az a probléma, hogy ezt nagyobb, régebb óta futó projekteknél már nehéz átverekedni. Pláne, ha vannak fekete dobozok a kódban, amikről már senkinek sincs fingja, hogy hogy működik, de működik, ezért nem is nyúlnak hozzá.
Nekem is most vetődött fel egy kisebb projektemen, hogy bizony az általunk használt javascript framework jelenleg használt verziójára már jó ideje nincs is hivatalos támogatás és frissíteni kéne. Na, ez így alaphangon kb. 50-60 embernap lesz, pedig elég egyszerűek a felületek a programban. Ott tart hónapok óta a dolog, hogy a projektvezető próbál forrást szerezni az upgradre. Az ügyfél torkán úgysem lehet ezt lenyomni.
Ideális esetben - ha van rá elég erőforrás - érdemes folyamatosan felhúzni a különféle lib-ek és frameworkok verzióit a legfrisebbre.
Ha folyamatosan csinálod, akkor nem kerül túl sok erőforrásba, mégha elfeledkezel róla, és egy 3 évvel korábbi verzióról akarsz hirtelen a legfrissebbre fejleszteni, ott azért lehetnek elég komoly problémáid.
Érdemes folyamatosan emelni a verziókat, mert két egymást követő verzió között jó esetben nem lesz hatalmas különbség (kivételes a webes világban, ott két Angular verzió között is akkor a különbség, hogy beszakad a plafon).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!