Книга «Роберт С. Мартин», которую на самом деле написал Майкл Фезерс («Дядя Боб», кажется, в наши дни является торговой маркой!), обязательна.
Практически невозможно — не говоря уже о безумно трудоемких — поместить модульные тесты в приложение, разработанное без них. Код просто не будет поддаваться.
Но это не проблема. Рефакторинг заключается в изменении дизайна без изменения функции (надеюсь, я не слишком сильно исказил смысл), поэтому вы можете работать в гораздо более широкой манере.
Начните с больших кусков. Настройте повторяемое выполнение и фиксируйте происходящее как ожидаемый результат для последующих выполнений. Теперь у вас есть приложение или, по крайней мере, его часть, которое тестируется. Конечно, не очень хороший или всеобъемлющий тест, но это только начало, и дальше все может стать только лучше.
Теперь можно приступать к рефакторингу. Вы хотите начать извлекать свой код доступа к данным, чтобы его можно было заменить функциональностью ORM, не слишком беспокоя. Часто тестируйте: с устаревшими приложениями вы удивитесь, что сломается; сплоченность и связь редко бывают такими, какими они могли бы быть.
Я бы также рассмотрел статью Мартина Фаулера Рефакторинг , что, очевидно, является окончательной работой над процессом.
person
Mike Woodhouse
schedule
22.08.2008