Retke su prilike kada započinjemo rad na određenom projektu od nule. Uglavnom se radi na postojećem kodu, od kojih su neki delovi napisani pre dosta godina. Ponekad su u pitanju tehnologije koje su prestale da se koriste, a onaj koji je stvorio taj kod više nije među zaposlenima. I zato možemo zapasti u problem. Jer je to kod koji slabo poznajemo i razumemo, a svaka izmena je rizična, u smislu da nešto može prestati da radi. Naposletku dolazimo do tačke, kada šta god da promenimo, nešto će prestati da radi.
Kada nasleđeni kod može predstavljati problem?
Pre svega, problem je kada nema testova. Testovi jemče određeni nivo kvaliteta. Samim tim će svaki refaktoring biti lakši ako postoje testovi.
Takođe, treba da bude uspostavljen sistem pregleda koda i njegovog usavršavanja.
Ako je kod napisan po jasnim principima i ako se redovno održava i uređuje, nasleđeni kod neće predstavljati problem. Automatski testovi koji se redovno izvršavaju su tu da spreče bilo kakvo pogoršanje kvaliteta ili prestanak rada određene funkcionalnosti. Stoga je bitno da pisanje testova pređe u naviku.