Об авторах
Предисловие

Часть I. Внутренний механизм изменений в коде
Глава 1. Изменения в программном коде
Глава 2. Работа с ответной реакцией
Глава 3. Распознавание и разделение
Глава 4. Модель шва
Глава 5. Инструментальные средства

Часть II. Изменение программного обеспечения
Глава 6. Изменения необходимы, а времени на это нет
Глава 7. Изменения до бесконечности
Глава 8. Как ввести новое свойство
Глава 9. Класс нельзя ввести в средства тестирования
Глава 10. Метод нельзя выполнить в средствах тестирования
Глава 11. Требуются изменения в коде, но неизвестно, какие методы следует тестировать
Глава 12. На одном участке требуется внести много изменений, но следует ли разрывать зависимости со всеми классами, имеющими к этому отношение
Глава 13. В код требуется внести изменения, но неизвестно, какие тесты писать
Глава 14. Убийственная зависимость от библиотек
Глава 15. Приложение состоит из сплошных вызовов интерфейса API
Глава 16. Код недостаточно понятен для его изменения
Глава 17. У приложения отсутствует структура
Глава 18. Когда тестовый код мешает
Глава 19. Как благополучно изменить процедурный код
Глава 20. Класс слишком крупный и его дальнейшее укрупнение нежелательно
Глава 21. Изменение одного и того же кода повсеместно
Глава 22. Необходимо изменить гигантский метод, но нельзя написать для него тест
Глава 23. Как узнать, нарушают ли что-нибудь изменения в коде
Глава 24. Сдаемся — дальнейшее улучшение невозможно

Часть III. Методы разрыва зависимостей
Глава 25. Способы разрыва зависимостей

Приложение. Реорганизация кода
Словарь специальных терминов

Предметный указатель