Предисловие к первому изданию
Введение
Глава 1. Первый пример рефакторинга
Глава 2. Принципы рефакторинга
Глава 3. Запах в коде
Глава 4. Создание тестов
Глава 5. На пути к каталогу рефакторингов
Глава 6. Первое множество рефакторингов
Глава 7. Инкапсуляция
Глава 8. Перенос функциональности
Глава 9. Организация данных
Глава 10. Упрощение условной логики
Глава 11. Рефакторинг API
Глава 12. Работа с наследованием
Библиография
Предметный указатель