Книги / IT-менеджмент / Архитектура ПО / Working Effectively with Legacy Code

Working Effectively with Legacy Code

Michael C. Feathers

Книга Майкла Физерса посвящена работе с унаследованным кодом — тем проектам, которые уже существуют и требуют изменений, но не имеют достаточного тестового покрытия. Автор предлагает системный подход к рефакторингу и модификации кода без риска сломать существующую функциональность.

В первой части книги рассматриваются механика изменений, работа с обратной связью через юнит-тесты, а также модель швов (seam model), позволяющая изолировать участки кода для тестирования. Особое внимание уделяется практическим приёмам выделения зависимостей и создания тестовых заглушек.

Вторая часть содержит каталог из более чем 70 конкретных техник рефакторинга, сгруппированных по типам изменений: добавление функциональности, исправление ошибок, извлечение классов и методов, работа с большими функциями и классами. Каждая техника сопровождается примерами кода на Java, C++ и C#.

Книга будет полезна разработчикам любого уровня, которые сталкиваются с необходимостью модифицировать существующий код, особенно в проектах с низким качеством тестирования. Она учит не бояться legacy-кода и превращать его в управляемую и тестируемую систему.