Refactoring: Improving the Design of Existing Code. Second Edition
Второе издание классической книги Мартина Фаулера, посвящённой искусству рефакторинга — процессу улучшения структуры существующего кода без изменения его внешнего поведения. Это практическое руководство, которое учит разработчиков систематически улучшать дизайн программного обеспечения, делая его более понятным, поддерживаемым и расширяемым.
Книга начинается с подробного примера, демонстрирующего процесс рефакторинга на практике. Автор показывает, как можно постепенно преобразовывать код, применяя небольшие, безопасные изменения, которые в совокупности приводят к значительному улучшению архитектуры приложения. Пример основан на системе расчёта стоимости театральных представлений, что делает концепции доступными для понимания.
Основная часть книги представляет собой каталог рефакторингов — подробных описаний конкретных техник улучшения кода. Каждый рефакторинг включает в себя название, мотивацию для применения, механизм выполнения и примеры кода. Эти техники охватывают различные аспекты: работу с методами, перемещение функциональности между объектами, организацию данных, упрощение условных выражений и многое другое.
Особое внимание уделяется практическим аспектам: когда стоит заниматься рефакторингом, как интегрировать его в процесс разработки, как работать с унаследованным кодом и как тестировать изменения. Книга подчёркивает важность автоматизированного тестирования как неотъемлемой части безопасного рефакторинга.