RUSSIAN

Идеальная работа. Программирование без прикрас

Book information

Publisher
Питер
Year
2022
ISBN
9785446119103
Language
russian
Format
PDF
Filesize
9 MB (9555960 bytes)
Series
Библиотека программиста
Edition
1
Pages
384\384
Time added
2022-07-31 22:36:18

Description

В книге «Идеальная работа. Программирование без прикрас» легендарный Роберт Мартин (Дядюшка Боб) создал исчерпывающее руководство по хорошей работе для каждого программиста. Роберт Мартин объединяет дисциплины, стандарты и вопросы этики, необходимые для быстрой и продуктивной разработки надежного, эффективного кода, позволяющего испытывать гордость за программное обеспечение, которое вы создаете каждый день. Роберт Мартин, автор бестселлера «Чистый код», начинает с прагматического руководства по пяти основополагающим дисциплинам создания программного обеспечения: разработка через тестирование, рефакторинг, простой дизайн, совместное программирование и тесты. Затем он переходит к стандартам — обрисовывая ожидания «мира» от разработчиков программного обеспечения, рассказывая, как часто различаются эти подходы, и помогает вам устранить несоответствия. Наконец он обращается к этике программиста, давая десять фундаментальных постулатов, которым должны следовать все разработчики программного обеспечения. Предисловие Вступление О термине «мастерство» Единственный правильный путь Введение в книгу Для себя Для общества Структура книги Примечание для руководителей Благодарности Об авторе От издательства Глава 1. Мастерство Часть I. Принятые практики Экстремальное программирование Жизненный цикл Разработка через тестирование Рефакторинг Простота проектирования Совместное программирование Пользовательское тестирование Глава 2. Разработка через тестирование Общие сведения Программное обеспечение Три правила TDD Четвертое правило Основы Простые примеры Стек Простые множители Игра в боулинг Резюме Глава 3. Дополнительные возможности TDD Сортировка 1 Сортировка 2 Мертвая точка Настрой, действуй, проверь Введение в BDD Конечные автоматы И снова про BDD Тестовые двойники Пустышка Заглушка Шпион Подставной объект Имитация Принцип неопределенности TDD Лондон против Чикаго Выбор между гибкостью и определенностью Лондонская школа Классическая школа, или школа Чикаго Синтез Архитектура Резюме Глава 4. Разработка тестов Тестирование баз данных Тестирование графических интерфейсов Графический ввод Шаблоны тестирования Связанный с тестом подкласс Самошунтирование Скромный объект Проектирование тестов Проблема хрупких тестов Однозначное соответствие Разрыв соответствия Магазин видеопроката Конкретика против общности Определение очередности преобразований {} → ничто Ничто → константа Константа → переменная Отсутствие условий → выбор Значение → список Оператор → рекурсия Выбор → итерация Значение → измененное значение Пример: числа Фибоначчи Определение очередности преобразований Резюме Глава 5. Рефакторинг Что такое рефакторинг Основной инструментарий Переименование Выделение методов Выделение переменной Выделение поля Кубик Рубика Практики Тесты Быстрые тесты Устранение взаимно однозначных соответствий Непрерывный рефакторинг Безжалостный рефакторинг Поддержка проходимости тестов! Оставляйте себе выход Резюме Глава 6. Простой дизайн YAGNI Тестовое покрытие Степень покрытия Асимптотическая цель Дизайн? Но это еще не все Максимальное раскрытие предназначения Базовая абстракция Тесты: вторая половина проблемы Минимизация дублирования Непреднамеренное дублирование Минимизация размера Простой дизайн Глава 7. Совместное программирование Глава 8. Приемочное тестирование Порядок действий Непрерывная сборка Часть II. Стандарты Ваш новый технический директор Глава 9. Производительность Мы никогда не будем делать дрянь Легкая адаптивность Постоянная готовность Стабильная производительность Глава 10. Качество Постоянное улучшение Бесстрашная компетентность Исключительное качество Мы не будем заваливать работой отдел контроля качества Болезнь отдела тестирования Отдел контроля качества ничего не найдет Автоматизация тестирования Автоматизированное тестирование и пользовательские интерфейсы Тестирование пользовательского интерфейса Глава 11. Смелость Прикрываем друг другу спину Честная оценка Умение говорить «нет» Непрерывное интенсивное обучение Наставничество Часть III. Этика Самый первый программист 75 лет Ботаники и Спасители Образцы для подражания и злодеи Мы правим миром Катастрофы Клятва Глава 12. Вред Во-первых, не навреди Не навреди обществу Нарушение функционирования Нарушение структуры Программное обеспечение Тесты Лучшая работа Делаем это правильно Что такое хорошая структура Матрица Эйзенхауэра Программисты как заинтересованные лица Делать все возможное Повторяемое доказательство Дейкстра Доказательство правильности Структурное программирование Функциональная декомпозиция Разработка через тестирование Глава 13. Верность своим принципам Малые циклы История управления исходным кодом Git Короткие циклы Непрерывная интеграция Ветки и переключатели Непрерывное развертывание Непрерывная сборка Неустанное улучшение Покрытие тестами Мутационное тестирование Семантическая стабильность Очистка Творения Поддержание высокой продуктивности Вязкость Управление отвлекающими факторами Управление временем Глава 14. Работа в команде Работать как одна команда Открытый/виртуальный офис Честная и справедливая оценка Ложь Честность, безошибочность, точность История 1. Проект «Векторизация» История 2. pCCU Уроки Безошибочность Точность Обобщение Честность Уважение Никогда не переставай учиться

Similar books