Starý kód (legacy): ako s ním pracovať bez rizika
Starý kód, po anglicky legacy, je kód, ktorý funguje a zarába, ale nikto ho nechce chytiť. Chýba dokumentácia, testy aj pôvodný autor a každá zmena môže niečo pokaziť. S takým kódom sa dá pracovať bezpečne, ak sa postupuje opatrne.
Prečo sa legacy kód nevyhadzuje
Starý kód často obsahuje roky obchodných pravidiel a výnimiek, o ktorých už nikto nevie. Úplný prepis znamená všetky tieto pravidlá znova objaviť, čo trvá dlho a často skončí novými chybami. Preto je prepis až poslednou možnosťou, nie prvou.
Prvé kroky
- Záloha a verzovanie: kód dajte do systému na správu verzií, napríklad Git, aby sa každá zmena dala vrátiť.
- Testovacie prostredie: kópia aplikácie, kde sa dajú zmeny bezpečne skúšať.
- Mapovanie: zistite, z čoho aplikácia pozostáva, aké verzie používa a čo je najkritickejšie.
- Logovanie chýb: nastavte zaznamenávanie chýb, aby ste videli, čo sa deje.
Testy ako záchranná sieť
Pred zmenami je užitočné napísať testy, ktoré zachytia súčasné správanie aplikácie, aj keď nie je dokonalé. Ak zmena niečo pokazí, test to odhalí skôr ako zákazník.
Postupná modernizácia
- najprv bezpečnosť: aktualizácia PHP, knižníc a frameworku, viac v článku Stará verzia PHP,
- potom najproblematickejšie časti, ktoré spôsobujú chyby alebo spomalenie,
- pri každej úprave časti kódu ju zanechať o niečo lepšiu, ako bola,
- novú funkčnosť stavať už moderne a postupne nahrádzať staré časti.
Kedy zvážiť prepis
- technológia je tak zastaraná, že sa nedá bezpečne prevádzkovať,
- každá zmena trvá neúmerne dlho a pokazí niečo iné,
- aplikácia už nezodpovedá tomu, ako firma funguje.
Aj vtedy je často rozumnejšie prepisovať po častiach a nie všetko naraz. Viac v článku Redizajn alebo oprava webu.
So starým kódom pracujeme pravidelne. Začíname auditom a bezpečnou zálohou, aby ste vedeli, na čom ste, a menili len to, čo dáva zmysel.
