Я недавно начал новую работу, где я работаю над очень большим приложением (15M loc). В моей предыдущей работе у нас было такое же большое приложение, но (к лучшему или к худшему) мы использовали OSGi, что означало, что приложение было разбито на множество микросервисов, которые можно было независимо изменять, компилировать и развертывать. Новое приложение представляет собой всего лишь одну большую кодовую базу, возможно, с парой .dll.
Поэтому мне нужно изменить интерфейс этого класса, потому что это то, что мой босс попросил меня сделать. Первоначально они написали это с некоторыми допущениями, которые не очень хорошо обобщали, и какое-то время они избегали проблемы рефакторинга, потому что он так тесно связан. Я изменил интерфейс, и теперь есть более 25000 ошибок. Некоторые из ошибок в классах с важными звучащими именами, такими как «XYZPriceCalculator», которые на самом делене должен сломаться. Но я не могу запустить приложение, чтобы проверить, работает ли оно, пока все ошибки не будут устранены. И многие из модульных тестов либо напрямую ссылаются на этот интерфейс, либо связаны с базовыми классами, которые ссылаются на этот интерфейс, так что просто исправить их - довольно большая задача сама по себе. Кроме того, я не знаю, как все эти части сочетаются друг с другом, поэтому даже если бы я мог начать это, я не знаю, как это выглядело бы, если бы все было сломано.
Я никогда не сталкивался с такой проблемой на моей последней работе. Что я делаю?