Эта книга представляет собой руководство по рефакторингу; она написана для программистов-профессионалов. Моя цель при написании книги — показать, как выполнять рефакторинг управляемо и эффективно. Вы научитесь выполнять рефакторинг так, чтобы не вносить при этом в код новые ошибки, а постоянно улучшать его структуру.
Обычно книги начинаются с введения. Хотя я согласен с этой традицией, мне кажется слишком сложным начинать знакомство с рефакторингом с общего обсуждения или определений. Поэтому я начну с примера. В главе 1, “Первый пример рефакторинга”, приводится небольшая программа с обычными недостатками, которая с помощью рефакторинга превращается в более приемлемую объектно-ориентированную программу. Попутно мы рассмотрим как процесс рефакторинга в целом, так и применение некоторых полезных рефакторингов. Это ключевая глава для понимания того, чем в действительности является рефакторинг.
Примеры кода на JavaScript.
Как и в большинстве технических областей разработки программного обеспечения, для иллюстрации концепций очень важны примеры кода. Однако ре-факторинги на разных языках выглядят в основном одинаково. Иногда имеются определенные тонкости, на которые язык заставляет обращать внимание, но основные элементы рефакторинга остаются общими.
Я выбрал для иллюстрации рефакторингов JavaScript, так как чувствовал, что этот язык будет понятен и доступен для большинства читателей. Для вас не должно составлять проблемы адаптировать рефакторинг к тому языку, которым вы пользуетесь в настоящее время. Я стараюсь не задействовать какие-либо сложные части языка, поэтому вам должно быть достаточно поверхностного знания JavaScript, чтобы понимать суть рефакторинга. Мое применение JavaScript, конечно, не следует считать рекламой или рекомендацией этого языка.
Хотя я использую JavaScript в своих примерах, это не означает, что применимость методов в этой книге ограничена JavaScript. В первом издании использовался язык программирования Java, и многие программисты сочли книгу полезной, хотя и не написали ни одного класса на Java. Я продемонстрировал было общность методов, используя для примеров дюжину разных языков, но почувствовал, что это будет слишком запутывать читателя. Тем не менее эта книга написана для программистов, пишущих на любом языке. За исключением разделов с примерами, я не делаю никаких предположений о языке. Я ожидаю, что читатель усвоит мои общие комментарии и применит их к языку, который использует в повседневной работе, адаптировав соответствующим образом примеры на JavaScript.
Оглавление.
Предисловие к первому изданию.
Введение.
Глава 1. Первый пример рефакторинга.
Глава 2. Принципы рефакторинга.
Глава 3. Запах в коде 111.
Глава 4. Создание тестов.
Глава 5. На пути к каталогу рефакторингов.
Глава 6. Первое множество рефакторингов.
Глава 7. Инкапсуляция.
Глава 8. Перенос функциональности.
Глава 9. Организация данных.
Глава 10. Упрощение условной логики.
Глава 11. Рефакторинг API.
Глава 12. Работа с наследованием.
Библиография.
Предметный указатель.
Купить .
По кнопкам выше и ниже «Купить бумажную книгу» и по ссылке «Купить» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.
По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «ЛитРес», и потом ее скачать на сайте Литреса.
По кнопке «Найти похожие материалы на других сайтах» можно найти похожие материалы на других сайтах.
On the buttons above and below you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.
Хештеги: #учебник по программированию :: #программирование :: #Фаулер
Смотрите также учебники, книги и учебные материалы:
- Scala для нетерпеливых, Хостманн К., 2013
- Выразительный Javascript, Современное веб-программирование, Хавербеке М., 2019
- Основы программирования на примере языка Python, Федоров Д., 2018
- Сам себе программист, Как научиться программировать и устроиться в Ebay, Альтхофф К., 2018
- Разработка приложений на языке Java, Кислицын Е.В., Шишков Е.И., 2017
- Разработка веб-приложений с использованием Flask на языке Python, Гринберг М., 2014
- Разработка Backbone js приложений, Османи Э., 2014
- Простой Python просто с нуля, Рик Гаско, 2019