Прочитал книгу “Рефакторинг. Улучшение существующего кода” Фаулера. Могу сказать что книга будет полезна уже опытным программистам написавшим не одну программу. Лучше всего ее прочитать когда у Вы работаете над большим проектом и пришли к выводу что в него трудно внести новый функционал, искать ошибки – в общем если видите обильный говнокод.
Из книги почерпнул несколько советов:
- делать рефакторинг мелкими шажками
- после каждой правки компилировать и проверять работоспособность программы
- не делать лишнего – приучить себя к нужному
- методы рефакторинга
В общем советую прочитать.