Niedawno rozpocząłem nową pracę, w której pracuję nad bardzo dużą aplikacją (15M loc). W mojej poprzedniej pracy mieliśmy podobnie dużą aplikację, ale (na lepsze lub gorsze) korzystaliśmy z OSGi, co oznaczało, że aplikacja została podzielona na wiele mikrousług, które można niezależnie zmieniać, kompilować i wdrażać. Nowa aplikacja to tylko jedna duża baza kodu, może z kilkoma bibliotekami .dll.
Muszę więc zmienić interfejs tej klasy, ponieważ o to poprosił mój szef. Początkowo napisali to z pewnymi założeniami, które nie uogólniły się zbyt dobrze, i przez pewien czas unikali problemu refaktoryzacji, ponieważ jest tak ściśle powiązany. Zmieniłem interfejs i teraz jest ponad 25 000 błędów. Niektóre błędy występują w klasach z ważnymi brzmiącymi nazwami, takimi jak „XYZPriceCalculator”, które w rzeczywistościnie powinien się złamać. Ale nie mogę uruchomić aplikacji, aby sprawdzić, czy działa, dopóki wszystkie błędy nie zostaną usunięte. I wiele testów jednostkowych albo bezpośrednio odwołuje się do tego interfejsu, albo jest sprzężonych z klasami bazowymi, które odwołują się do tego interfejsu, więc samo ich naprawienie jest bardzo dużym zadaniem. Poza tym tak naprawdę nie wiem, jak te wszystkie elementy pasują do siebie, więc nawet gdybym mógł to zacząć, tak naprawdę nie wiem, jak by to wyglądało, gdyby coś się zepsuło.
Nigdy tak naprawdę nie spotkałem się z takim problemem podczas mojej ostatniej pracy. Co ja robię?