Эффективная работа с унаследованным кодом. Майкл Физерс

Эффективная работа с унаследованным кодом

Working Effectively with Legacy Code
Название в оригиналеWorking Effectively with Legacy Code
ИздательствоВильямс
Год издания2016
Страниц400
ПереплетТвердый переплет
Формат70х100/16 (170х240 мм, увеличенный)
ISBN978-5-8459-1530-6
ИзготовительООО "Издательский дом "Вильямс". 101509, РФ, г. Москва, ул. Лесная, 43, стр. 1
ИмпортерООО «НТЦ АПИ», г. Минск, ул. Уманская, 54, пом. 1, каб. 34

Учитесь извлекать максимум пользы из унаследованных систем, повышая их производительность, функциональность, надежность и сопровождаемость!

Можете ли вы без особого труда изменить код и тут же получить ответную реакцию на внесенные изменения? Насколько понятен этот код? Если вы ответите на эти вопросы отрицательно, значит, вы имеете дело с унаследованным кодом и понапрасну тратите время и средства на разработку.

Учитесь извлекать максимум пользы из унаследованных систем, повышая их производительность, функциональность, надежность и сопровождаемость!

Можете ли вы без особого труда изменить код и тут же получить ответную реакцию на внесенные изменения? Насколько понятен этот код? Если вы ответите на эти вопросы отрицательно, значит, вы имеете дело с унаследованным кодом и понапрасну тратите время и средства на разработку.

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

В этой книге освещаются следующие вопросы:

  • Представление о механизмах внесения изменений в программное обеспечение, включая ввод новых свойств, устранение программных ошибок, улучшение структуры кода, оптимизацию производительности.
  • Перенос унаследованного кода в средства тестирования.
  • Написание тестов, препятствующих внесению новых ошибок в код.
  • Применение методов, подходящих для любого языка или платформы, с примерами кода на Java, C++, C и C#.
  • Точное выявление мест в коде, где требуется внести изменения.
  • Работа с унаследованным кодом, который не является объектно-ориентированным.
  • Обращение с приложениями, у которых, на первый взгляд, нет вообще никакой структуры.

Кроме того, в этой книге представлены 24 способа разрыва зависимостей, помогающих работать с элементами программного обеспечения обособленно, чтобы сделать внесение изменений в код более безопасным.

Содержание

  • Об авторах
  • Предисловие
  • Часть 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. Способы разрыва зависимостей
  • Приложение. Реорганизация кода
  • Словарь специальных терминов
  • Предметный указатель

Похожие лоты

Вход

В течение нескольких секунд вам придёт SMS с одноразовым кодом для входа. Если ничего не пришло — отправьте код ещё раз.
Это бесплатно, безопасно и займёт всего несколько секунд
Войдите с помощью своего профиля

Регистрация

Введите номер вашего мобильного телефона:
Войдите с помощью электронной почты или номера телефона
Войдите с помощью своего профиля

Восстановление пароля

Укажите адрес электронной почты, который вы использовали при регистрации
Нужна помощь? Напишите нам

Восстановление пароля

Инструкции по восстановлению пароля высланы на 
Нужна помощь? Напишите нам