Так же, как съесть слона - один укус за раз:)
Иногда большая картина может быть настоящим демотиватором, и вам нужно выбрать место и заняться им по частям.
Конечно, все еще нужно выбрать бит, с которого нужно начинать ... Обычно это происходит в основном за счет пользователей / бизнеса с необходимыми изменениями, относящимися к высшему приоритету (вчера ...), но если у вас есть немного гибкости или времени для ознакомления Метрики часто полезны. Инструменты здесь различаются в зависимости от технологии и языка, но такие инструменты, как NDepend и JDepend , любые встроенные метрики кода (например, в Visual Studio Team System или различные доступные плагины Eclipse) или инструмент, подобный Simian , чтобы понять размер проблемы копирования и вставки.
Надеемся, что количество юнит-тестов и охват больше нуля, и поэтому хорошим первым шагом всегда является получение любых тестов, которые вы можете запустить в среде непрерывной интеграции, в качестве основы для добавления большего количества тестов по мере изучения.
И как уже говорили другие - при условии наличия опций для языка - хорошая IDE с навигацией по коду и автоматическим рефакторингом является обязательной (Eclipse, Visual Studio (с или без ReSharper).
Пара книг, повышающих моральный дух:
Удачи:)