RUSSIAN

Масштабируемый рефакторинг. Возвращаем контроль над кодом

Book information

Publisher
Питер
Year
2022
ISBN
9785446139217, 9781492075530
Language
russian
Format
PDF
Filesize
6 MB (6170590 bytes)
Series
Бестселлеры O’Reilly
Edition
1
Pages
256\256
Time added
2022-05-07 09:02:20

Description

Поддерживать большие приложения сложно, а поддержка больших «неорганизованных» приложений превращается в непосильную задачу. Пришло время сделать паузу и задуматься о рефакторинге! Внесение значительных изменений в крупную и сложную кодовую базу — нетривиальная задача, которую практически невозможно успешно выполнить без рабочей команды, инструментов и планирования. Мод Лемер раскрывает все тайны рефакторинга на примере двух исследований. Вы научитесь эффективно вносить важные изменения в кодовую базу, разберетесь, как деградирует код и почему иногда это неизбежно. Предисловие Для кого предназначена книга Почему я решила написать эту книгу Структура издания Условные обозначения Примеры кода Благодарности От издательства Часть I. Введение Глава 1. Рефакторинг Что такое рефакторинг Что такое масштабируемый рефакторинг Зачем нужен рефакторинг Выгоды рефакторинга Продуктивность разработчика Обнаружение ошибок Риски рефакторинга Риск регрессии «Спящие» ошибки Неконтролируемый рост проекта Ненужное усложнение Когда начинать рефакторинг Небольшой масштаб Сложность кода мешает активному развитию Изменение требований к продукту Производительность Переход к новой технологии Когда не нужно делать рефакторинг Для забавы или со скуки Вы случайно проходили мимо Чтобы обеспечить расширяемость кода Когда не хватает времени Первый пример рефакторинга Упрощение условных операторов Удаление волшебных чисел Извлечение автономной логики Глава 2. Как деградирует код Почему важно понимать, что код деградирует Изменение требований Возможности масштабирования Доступность Совместимость с устройствами Изменение среды Внешние зависимости Неиспользуемый код Изменение требований к продукту Технический долг Обход выбранной технологии Отсутствие привычки к систематизации Слишком быстрое продвижение Применение знаний Часть II. Планирование Глава 3. Количественная характеристика начального состояния Почему сложно оценить последствия рефакторинга Оценка сложности кода Метрики Холстеда Цикломатическая сложность NPath-сложность Строки кода Метрики покрытия кода Документация Официальная документация Неофициальная документация Управление версиями Комментарии к коммитам Коммиты Репутация Составляем полную картину Глава 4. Составление плана Определение конечного состояния В путешествии На работе Поиск кратчайшего расстояния В путешествии На работе Промежуточные шаги В путешествии На работе Выбор стратегии развертывания Темный/светлый режим Развертывание гипотетического кода Очистка кода Ссылка на метрики Промежуточные этапы Метрики промежуточных этапов Оценка Обсуждение планов с другими командами Информационная открытость Взгляд со стороны Уточненный план Глава 5. Получение одобрения Причины несогласия руководителей Руководители не пишут код Работа руководителя оценивается иначе Руководители понимают риски Необходимость координировать усилия Поиск убедительной аргументации Как убедить коллегу Приобретение поддержки сверху и снизу Опора на доказательства Жесткие меры Заинтересованность в рефакторинге Глава 6. Подбор команды Выбор экспертов Подбор специалистов Многопрофильные специалисты Еще немного про активных участников Необъективность при составлении списка Типы команд, выполняющих рефакторинг Владельцы Рекомендуемый подход Группы очистки Предложение Метрики Великодушие Возможности Обмен Повторные попытки Возможные результаты Реалистичный сценарий Что делать в худшем случае Создание сильных команд Часть III. Выполнение Глава 7. Коммуникация Внутри команды Стендапы Еженедельная синхронизация Ретроспективы Вне команды При запуске проекта Во время выполнения проекта Экспериментируйте Глава 8. Стратегии выполнения Формирование команды Парное программирование Сохранение мотивации Учет результатов Промежуточные измерения Обнаруженные ошибки Удаление артефактов Элементы, выходящие за рамки проекта Продуктивное программирование Прототипирование Движение вперед маленькими шагами Тестирование «Глупые» вопросы Заключение Глава 9. Закрепление результатов рефакторинга Содействие принятию рефакторинга Образование Активное образование Пассивное образование Закрепление Прогрессивный линтинг Инструменты анализа кода Ворота и ограды Интеграция улучшений в культуру Часть IV. Разборы примеров Глава 10. Избыточные схемы базы данных Slack 101 Архитектура Slack 101 Проблемы масштабирования Загрузка клиента Slack Видимость файла Упоминания Консолидация таблиц Сбор разрозненных запросов Разработка стратегии миграции Количественная оценка нашего прогресса Попытка получить помощь Сообщения об успехах Заключительные шаги Извлеченные уроки Разработка четкого плана выполнения Анализ истории кода Обеспечение адекватного тестового покрытия Сохранение мотивации Концентрация на стратегических этапах Выбор метрик Ключевые моменты Глава 11. Переход к новой базе данных Распределение по рабочим пространствам Миграция таблицы channels_members на Vitess Схема шардирования Разработка новой схемы Разбиение запросов с оператором JOIN Сложности развертывания Режим Backfill Режим Dark Режим Light Режим Sunset Заключительные шаги Извлеченные уроки Реалистичные оценки Коллеги, которые вам нужны Планирование объема работ Выбор места коммуникации План развертывания Основные моменты Об авторе Об обложке

Similar books

Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique

2025 · PDF

Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная

2022 · PDF

Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание

2021 · PDF

Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)

2022 · PDF

Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)

2023 · PDF