СПб.: Диалектика, 2019. — 448 с. — ISBN: 978-5-9909445-1-0.
Рефакторинг уже давно и прочно занимает свое достойное место среди технологий программирования, и не в последнюю очередь благодаря книге Мартина Фаулера — одной из тех книг, которые написаны "на все времена" и которые, как хорошее вино, со временем становятся только ценнее.
Сам принцип рефакторинга прост: это последовательность небольших шагов, таких как перемещение поля из одного класса в другой, вынесение фрагмента кода из метода и его превращение в самостоятельный метод или даже перемещение кода по иерархии классов. Каждый такой шаг выглядит настолько просто и естественно, что кажется удивительным — о чем здесь можно писать? Однако кумулятивный эффект от таких малых изменений состоит в существенном улучшении проекта существующего кода.
Предисловие
Введение
Первый пример рефакторинга
Принципы рефакторинга
Запах в коде
Создание тестов
На пути к каталогу рефакторингов
Составление методов
Перенос функциональности между объектами
Организация данных
Упрощение условных выражений
Упрощение вызовов методов
Работа с обобщенностью
Крупномасштабные рефакторинги
Рефакторинг, повторное использование и реальность
Инструментарий для выполнения рефакторинга
Заключение
Библиография
Примечания
Список рефакторингов
Список запахов
Предметный указатель