Я согласен с Томасом.
Я чувствую, что вопрос, который вы всегда должны себе задавать при рефакторинге, звучит так: «Что я получу, если буду делать это, а не делать что-то еще со своим временем?» Ответом могут быть многие вещи, от повышения удобства обслуживания до улучшения производительности, но это всегда будет происходить за счет чего-то другого.
Мне трудно понять код, но это звучит как очень плохая ситуация для рефакторинга. Тесты хороши, но они не защищены от ошибок. Все, что нужно, это чтобы один из них сделал неверное предположение, и ваш рефакторинг может внести неприятную ошибку. И без QA, чтобы поймать это, это не было бы хорошо.
Лично я немного опасаюсь таких масштабных рефакторов. Один раз стоил мне работы. Это была моя первая работа за пределами правительства (которая, как правило, становится немного более щадящей, когда вы получаете «срок пребывания», чертовски трудно быть уволенным), и я был единственным веб-программистом. Я получил устаревшее ASP-приложение, которое было написано плохо, у меня на коленях. Моим первым приоритетом было превращение проклятой вещи в нечто менее ... неприглядное. Мой работодатель хотел потушить пожары и больше ничего. Шесть месяцев спустя я снова искал работу: p Мораль этой истории: сначала посоветуйтесь со своим менеджером, прежде чем приступать к этому.