IMHO to bylo spise mysleno tak, ze kdyz uz ujely cvicky a bordel vznikl, jsou jazyky a vyvojove prostredi, kde se to da jeste rozumne podchytit v zarodku a vycistit, nez se to zesere cele.
Treba Java IDE typu Eclipse/IntelliJ/Netbeans spolu s modularnim mavenem maji luxusni podporu refaktorizace, xml config validace apod.
V jave mi prijde na review nejaka hrozna spageta, a tam buch-buch "extrac method", "extract interface", "change method signature", "rename" a uz to lita. IDE se postara, ze se zmeny zpropagujou vsude.
V jazycich jako je C nebo GO to jde mnohem obtizneji a jenom rucne. Hlavne z duvodu neexistence vyjimek, v Jave muzes beztrestne kus kodu ze spagety extrahovat do metody, IDE samo automaticky prida potrebne throws klausule. V GO, kde mas dohromady zmatlany business kod a error handling to musis vypreparovat rucne, je to hrozny oser nachylny na chyby, casto je snazsi napsat zpraseny kod nacisto odznova.