Главная страница

Делай как вGoogle


Скачать 5.77 Mb.
НазваниеДелай как вGoogle
Дата31.05.2022
Размер5.77 Mb.
Формат файлаpdf
Имя файлаDelay_kak_v_Google_Razrabotka_programmnogo_obespechenia_2021_Tom.pdf
ТипДокументы
#559735
страница1 из 69
  1   2   3   4   5   6   7   8   9   ...   69

Boston Farnham Sebastopol Tokyo
Beijing
Титус Винтерс, Том Маншрек, Хайрам Райт
2021
Делай как
в
Google
Разработка программного обеспечения

Boston Farnham Sebastopol Tokyo
Beijing
Титус Винтерс, Том Маншрек, Хайрам Райт
2021
Делай как
в
Google
Разработка программного обеспечения

ББК 32.973.2-018
УДК 004.4
В50
Винтерс Титус, Маншрек Том, Райт Хайрам
В50 Делай как в Google. Разработка программного обеспечения. — СПб.: Питер,
2021. — 544 с.: ил. — (Серия «Бестселлеры O’Reilly»).
ISBN 978-5-4461-1774-1
Современные программисты должны не только эффективно программировать, но и знать надлежа- щие инженерные практики, позволяющие сделать кодовую базу стабильной и качественной. В чем же разница между программированием и программной инженерией? Как разработчик может управлять живой кодовой базой, которая развивается и реагирует на меняющиеся требования на всем протяжении своего существования? Основываясь на опыте Google, инженеры-программисты Титус Винтерс и Хай- рам Райт вместе с Томом Маншреком делают откровенный и проницательный анализ того, как ведущие мировые практики создают и поддерживают ПО. Речь идет об уникальной инженерной культуре, про- цессах и инструментах Google, а также о том, как эти аспекты влияют на эффективность разработки.
Вы изучите фундаментальные принципы, которые компании разработчиков ПО должны учитывать при проектировании, разработке архитектуры, написании и сопровождении кода.
16+
(В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)
ББК
32.973.2-018
УДК
004.4
Права на издание получены по соглашению с O’Reilly. Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
ISBN 978-1492082798 англ.
Authorized Russian translation of the English edition of Software Engineering at Google
ISBN 9781492082798 © 2020 Google, LLC.
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same.
ISBN 978-5-4461-1774-1
© Перевод на русский язык ООО Издательство «Питер», 2021
© Издание на русском языке, оформление ООО Издательство «Питер», 2021
© Серия «Бестселлеры O’Reilly», 2021

Краткое содержание
Предисловие ..................................................................................................................................14
Вступление ......................................................................................................................................15
Часть I. Тезисы ................................................................................................................ 21
Глава 1. Что такое программная инженерия? ....................................................................................................22
Часть II. Культура ........................................................................................................... 43
Глава 2. Успешная работа в команде ......................................................................................................................44
Глава 3. Обмен знаниями .............................................................................................................................................59
Глава 4. Инженерия равенства .................................................................................................................................82
Глава 5. Как стать лидером в команде ...................................................................................................................93
Глава 6. Масштабируемое лидерство ................................................................................................................. 116
Глава 7. Оценка продуктивности инженеров ................................................................................................. 132
Часть III. Процессы .......................................................................................................147
Глава 8. Правила и руководства по стилю ........................................................................................................ 148
Глава 9. Код-ревью ....................................................................................................................................................... 169
Глава 10. Документация ............................................................................................................................................ 186
Глава 11. Основы тестирования ............................................................................................................................ 206
Глава 12. Юнит-тестирование ................................................................................................................................. 231
Глава 13. Тестирование с дублерами .................................................................................................................. 256
Глава 14. Крупномасштабное тестирование ................................................................................................... 279
Глава 15. Устаревание ................................................................................................................................................ 308
Часть IV. Инструменты ................................................................................................321
Глава 16. Управление версиями и ветвями ...................................................................................................... 322
Глава 17. Code Search ................................................................................................................................................. 346
Глава 18. Системы и философия сборки............................................................................................................ 366
Глава 19. Critique: инструмент обзора кода в Google .................................................................................. 394
Глава 20. Статический анализ ................................................................................................................................. 411
Глава 21. Управление зависимостями ................................................................................................................ 424
Глава 22. Крупномасштабные изменения ......................................................................................................... 452
Глава 23. Непрерывная интеграция .................................................................................................................... 472
Глава 24. Непрерывная поставка .......................................................................................................................... 497
Глава 25. Вычисления как услуга .......................................................................................................................... 509
Часть V. Заключение ....................................................................................................539
Послесловие .................................................................................................................................540
Об авторах ....................................................................................................................................542
Об обложке ...................................................................................................................................543

Оглавление
Предисловие ......................................................................................................... 14
Вступление ............................................................................................................ 15
Программирование в долгосрочной перспективе ..................................................... 15
Точка зрения Google ................................................................................................ 16
Что не отражено в книге ......................................................................................... 17
Заключительные примечания .................................................................................. 17
Условные обозначения ............................................................................................ 17
Благодарности ......................................................................................................... 18
От издательства ...................................................................................................... 20
ЧАСТЬ I. ТЕЗИСЫ ...................................................................................... 21
Глава 1. Что такое программная инженерия? .............................................................. 22
Время и изменения .................................................................................................. 24
Масштабирование и эффективность ........................................................................ 30
Компромиссы и затраты ........................................................................................... 36
Программная инженерия и программирование ........................................................ 41
Заключение ............................................................................................................. 42
Итоги ....................................................................................................................... 42
ЧАСТЬ II. КУЛЬТУРА ................................................................................ 43
Глава 2. Успешная работа в команде ........................................................................... 44
Помоги мне скрыть мой код ..................................................................................... 44
Миф о гениальности ................................................................................................ 45
Сокрытие вредно ..................................................................................................... 47
Весь секрет в командной работе .............................................................................. 50
Заключение ............................................................................................................. 58
Итоги ....................................................................................................................... 58

Оглавление
7
Глава 3. Обмен знаниями ............................................................................................ 59
Сложности в обучении ............................................................................................. 59
Философия .............................................................................................................. 60
Создание условий: психологическая безопасность .................................................. 61
Расширение знаний ................................................................................................. 63
Масштабирование вопросов: вопросы к сообществу ................................................ 65
Распространяйте знания: вам всегда есть чему научить других ............................... 67
Распространение знаний с ростом организации ....................................................... 71
Удобочитаемость: наставничество через обзоры кода ............................................. 77
Заключение ............................................................................................................. 81
Итоги ....................................................................................................................... 81
Глава 4. Инженерия равенства .................................................................................... 82
Предвзятость — это проблема ................................................................................. 82
Понимание необходимости разнообразия ................................................................ 84
Выстраивание мультикультурного потенциала......................................................... 85
Сделать разнообразие действенным ........................................................................ 87
Отказ от единых подходов ....................................................................................... 87
Бросьте вызов устоявшимся процессам ................................................................... 89
Ценности и результаты ............................................................................................ 90
Оставайтесь любознательными, двигайтесь вперед ................................................. 91
Заключение ............................................................................................................. 91
Итоги ....................................................................................................................... 92
Глава 5. Как стать лидером в команде......................................................................... 93
Руководители и технические лидеры (и те и другие) ............................................... 93
Переход от роли разработчика к роли лидера ......................................................... 95
Руководитель .......................................................................................................... 97
Антипаттерны ........................................................................................................ 100
Положительные паттерны ..................................................................................... 104
Неожиданный вопрос ............................................................................................ 111
Другие советы и рекомендации ............................................................................. 111
Люди похожи на растения ..................................................................................... 113
Заключение ........................................................................................................... 115
Итоги ..................................................................................................................... 115

8
Оглавление
Глава 6. Масштабируемое лидерство ......................................................................... 116
Всегда принимайте решение.................................................................................. 116
Всегда уходи ......................................................................................................... 121
Всегда масштабируйте себя ................................................................................... 125
Заключение ........................................................................................................... 131
Итоги ..................................................................................................................... 131
Глава 7. Оценка продуктивности инженеров ............................................................. 132
Зачем оценивать продуктивность инженеров? ....................................................... 132
Расстановка приоритетов: что измерять? .............................................................. 133
Выбор значимых метрик с использованием целей и сигналов ................................ 137
Цели ...................................................................................................................... 138
Сигналы ................................................................................................................ 140
Метрики ................................................................................................................ 140
Использование данных для проверки метрик ........................................................ 141
Принятие мер и оценка результатов ...................................................................... 145
Заключение ........................................................................................................... 145
Итоги ..................................................................................................................... 145
ЧАСТЬ III. ПРОЦЕССЫ ........................................................................... 147
Глава 8. Правила и руководства по стилю ................................................................. 148
Зачем нужны правила? .......................................................................................... 149
Создание правил ................................................................................................... 149
Изменение правил ................................................................................................. 159
Руководства........................................................................................................... 162
Применение правил ............................................................................................... 164
Заключение ........................................................................................................... 168
Итоги ..................................................................................................................... 168
Глава 9. Код-ревью ................................................................................................... 169
Поток обзора кода ................................................................................................. 170
Как проводятся обзоры кода в Google.................................................................... 170
Преимущества обзоров кода .................................................................................. 172
Передовые практики обзора кода .......................................................................... 178
Виды обзоров кода ................................................................................................ 182

Оглавление
9
Заключение ........................................................................................................... 185
Итоги ..................................................................................................................... 185
  1   2   3   4   5   6   7   8   9   ...   69


написать администратору сайта