Современные программисты должны не только эффективно программировать, но и знать надлежащие инженерные практики, позволяющие сделать кодовую базу стабильной и качественной. В чем же разница между программированием и программной инженерией? Как разработчик может управлять живой кодовой базой, которая развивается и реагирует на меняющиеся требования на всем протяжении своего существования? Основываясь на опыте Google, инженеры-программисты Титус Винтерс и Хайрам Райт вместе с Томом Маншреком делают откровенный и проницательный анализ того, как ведущие мировые практики создают и поддерживают ПО. Речь идет об уникальной инженерной культуре, процессах и инструментах Google, а также о том, как эти аспекты влияют на эффективность разработки. Вы изучите фундаментальные принципы, которые компании разработчиков ПО должны учитывать при проектировании, разработке архитектуры, написании и сопровождении кода.
Author(s): Титус Винтерс, Том Маншрек, Хайрам Райт
Series: Бестселлеры O’Reilly
Edition: 1
Publisher: Питер
Year: 2021
Language: Russian
Commentary: Vector PDF
Pages: 544
City: СПб.
Tags: Google;Scalability;Best Practices;Documentation;Culture;Static Analysis;Continuous Delivery;Unit Testing;Continuous Integration;Business Processes;Testing;Performance Testing;Software Development Life Cycle;Team Management;Version Control Systems;Teamwork;Code Review;A/B Testing;Code Readability;Knowledge Management;Anti-Patterns;Metrics;Productivity Measurement;Functional Testing;Canary Analysis;Deprecation;Code Search;Build Systems;Dependency Management;Large-Scale Changes;Compute as a Service
Предисловие
Вступление
Часть I. Тезисы
Глава 1. Что такое программная инженерия?
Часть II. Культура
Глава 2. Успешная работа в команде
Глава 3. Обмен знаниями
Глава 4. Инженерия равенства
Глава 5. Как стать лидером в команде
Глава 6. Масштабируемое лидерство
Глава 7. Оценка продуктивности инженеров
Часть II. Процессы
Глава 8. Правила и руководства по стилю
Глава 9. Код-ревью
Глава 10. Документация
Глава 11. Основы тестирования
Глава 12. Юнит-тестирование
Глава 13. Тестирование с дублерами
Глава 14. Крупномасштабное тестирование
Глава 15. Устаревание
Часть IV
Часть IV. Инструменты
Глава 16. Управление версиями и ветвями
Глава 17. Code Search
Глава 18. Системы и философия сборки
Глава 19. Critique: инструмент обзора кода в Google
Глава 20. Статический анализ
Глава 21. Управление зависимостями
Глава 22. Крупномасштабные изменения
Глава 23. Непрерывная интеграция
Глава 24. Непрерывная поставка
Глава 25. Вычисления как услуга
Часть V. Заключение
Послесловие
Об авторах
Об обложке