Учитесь извлекать максимум пользы из унаследованных систем, повышая их производительность, функциональность, надежность и сопровождаемость!
В своей книге Майкл Физерс предлагает полноценные стратегические приемы эффективной работы с крупными базами унаследованного нетестированного кода. В основу этой книги положен материал, подготовленный автором к известным семинарам, организуемым компанией Object Mentor, включая приемы, которым автор обучил сотни разработчиков, технических руководителей и тестирующих программное обеспечение подчинять себе непослушные унаследованные системы.
В этой книге освещаются следующие вопросы:
- Представление о механизмах внесения изменений в программное обеспечение, включая ввод новых свойств, устранение программных ошибок, улучшение структуры кода, оптимизацию производительности.
- Перенос унаследованного кода в средства тестирования.
- Написание тестов, препятствующих внесению новых ошибок в код.
- Применение методов, подходящих для любого языка или платформы, с примерами кода на Java, C++, C и C#.
- Точное выявление мест в коде, где требуется внести изменения.
- Работа с унаследованным кодом, который не является объектно-ориентированным.
- Обращение с приложениями, у которых, на первый взгляд, нет вообще никакой структуры.
Кроме того, в этой книге представлены 24 способа разрыва зависимостей, помогающих работать с элементами программного обеспечения обособленно, чтобы сделать внесение изменений в код более безопасным.
Очень достойная книга. Во многом перекликается в Фацлеровским "Рефракторингом", на что указывает сам автор. Книга посвящена проблеме с которой сталкивается любой программист - есть куча невнятного кода, который надо сопровождать, но внесение в него изменений чревато поломками. Надо, конечно, писать тесты на код - но для этого код надо делать более модульным. Примеры как это делать - в книге. Но волшебной таблетки и золотого молотка, конечно, там нет. А прочитать полезно.