Oktatási cél: Legacy (vagyis örökölt) kóddal minden programozó találkozik a munkája során. A tárgy célja
bemutatni a legacy kóddal járó problémákat, illetve ezek kezelését. Ezen kívül megoldásokat mutat be, hogyan
lehet ezeket a problémákat csökkenteni az általunk hátrahagyott kódban, egyben magasabb színvonalon művelni a
szoftver fejlesztést.
Tematika: A tárgy során felelevenítésre kerülnek a korábban tanult programozási elvek és folyamatok, úgy mint,
szoftver folyamat modellek, folyamatos integráció, szerepkörök a fejlesztés során, SOLID alapelvek, KISS,
YAGNI és DRY fogalma. Ezután az elnevezések fontosságával, a feltételek, ciklusok és visszatérések
problémáival, valamint a Clean Code elvek segítségével bemutatásra kerülnek a legacy kódok legfőbb problémái.
Ezt követően a legfontosabb tesztelési technikákon (unit-, integrációs- és karakterizációs teszt) keresztül
megismerkedhetnek a hallgatók azzal, hogyan kezelhető a legacy kód magabiztosan, kevesebb hibázási lehetőség
mellett. A módosításokhoz, továbbá a tesztekkel feltárt problémák megoldására függőség csökkentő technikák (spy,
mock, dummy, stub a tesztelésnél, sprout, wrapper és refaktorálási technikák a termék kód esetén), illetve legjobb
programozási gyakorlatok (TDD, PPP, SW craftmanship) kerülnek bemutatásra. A tárgy végül a kód
továbbfejlesztésére ad hasznos tanácsokat az optimalizálás területének érintésével, illetve a „code smell”-ek
bemutatásával és megszűntetésével. A tárgy az érdeklődő hallgatók számára (személyes) fejlődési lehetőségekre is
irányt kíván mutatni szakmai utak, illetve szakirodalom és (ingyenes) képzési lehetőségek ajánlásával.