- Получите себе копию Эффективная работа с устаревшим кодом от Micheal Feathers.В нем есть все виды методов безопасного рефакторинга кода для его запуска в тестовой среде.Примеры в основном на Java и C ++, но их должно быть достаточно просто выяснить.
- Установить сторонний инструмент рефакторинга (или несколько), такой как CodeRush для Delphi (к сожалению, больше не разрабатывается), Castalia или ModelMaker Code Explorer,В Delphi встроена некоторая поддержка рефакторинга, но, по моему опыту, она слишком ограничена и имеет тенденцию задыхаться от очень больших баз кода.
- Купите копию Simian.Он не имеет прямой поддержки Object Pascal, но его анализатор простого текста работает достаточно хорошо.Если достаточно людей запросят поддержку Object Pascal, я уверен, что они добавят ее.Я не нашел ни одного другого инструмента для обнаружения дублирования кода, способного, как Simian.
Я бы также порекомендовал добавить в закладки http://www.refactoring.com/catalog/ и http://www.industriallogic.com/xp/refactoring/catalog.html.
Также не помешало бы получить копию Чистый код:Справочник по Agile Software Craftsmanship от Роберта "Дядя Боб", Martin et al.Плохой код легко распознать.Гораздо сложнее понять, когда вы пишете хороший код.
Предостережение: сконцентрируйтесь на рефакторинге кода, над которым вам нужно поработать.Легко запустить кроличью нору и потратить месяцы на рефакторинг кода, который не имел непосредственного отношения к поставленной задаче.
И избавить себя от некоторых неприятностей.Не пытайтесь «исправить» код и выполнить его рефакторинг одновременно.Рефакторинг сначала , затем исправление ошибок или добавление этой новой функции.Помните, что рефакторинг - это изменение без изменения внешнего поведения .
Не поддавайтесь желанию попытаться полностью переписать.Я усвоил трудный путь, что дрянной код, отвечающий требованиям пользователя, предпочтительнее, чем чистый код, который этого не делает.Дрянной код всегда можно постепенно улучшать, пока им не станет чем гордиться.