ИМХО рефакторинг нужно читать только после "Совершенный код" Макконнелла. Если не правильно применяются циклы, ветвления и т.д., то никакой рефакторинг не поможет
Кстати, малоизвестная фенька - Code Complete переводили два раза, один раз обозвали "Завершенный код", а другой "Совершенный код". Видимо чтобы за права не спорить.
CC - крутая книга, но и главы Code Smells на первое время хватает, а рефакторинг и объектная модель позволяют обходится без тяжелых форм ветвления.
Хотя точно не скажу, сам читал сначала CC, груду по Agile и PM'ству, а потом только взял Refactoring.