Я не уверен, что может быть определенный набор шагов, то, что мы делаем, будет зависеть от структуры существующего кода.
Я согласен с @Jesus Ramos, что выяснение стратегии тестированияключ здесь.Вероятно, проблема для вас заключается в том, что код в настоящее время не может быть проверен модулем, потому что фактически нет «модулей», мы не можем проверить бизнес-логику, скажем, без тестирования пользовательского интерфейса.
IЯ бы очень серьезно подумал о переписывании этой вещи, а не о рефакторинге.
Если вы собираетесь провести рефакторинг, то я предполагаю, что вы выберете своего рода подход "швейцарский сыр"Высверлите кусочки, оставляя центральную массу с множеством отверстий.Поэтому извлеките код доступа к базе данных, сосредоточившись на предоставлении четкого API и набора объектов данных - они становятся основой вашей модели.Вытащите код GUI в слой представления.То, что осталось, это логика контроллера, которую вы можете затем реорганизовать.