Идеальный программист: как стать профессионалом разработки ПО
Book information
Description
Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это — основа для них. Потому что они являются профессионалами своего дела. В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и подходы для разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга — больше, чем описание методов, она о профессиональном подходе к процессу разработки. Краткое содержание Содержание Обязательное вступление Глава 1. Профессионализм Оборотная сторона профессионализма Ответственность Первое правило: не навреди Не навреди функциональности Контроль качества не должен ничего обнаружить Вы должны быть уверены в том,что ваш код работает Автоматизированный контроль качества Не навреди структуре Трудовая этика Знай свою область Непрерывное обучение Тренировка Совместная работа Наставничество Знание предметной области Понимание интересов работодателя/заказчика Скромность Глава 2. Как сказать «нет» Антагонистические роли Как насчет «почему»? Высокие ставки Умение работать в коллективе Не пытайтесь Пассивная агрессивность Цена согласия О невозможности хорошего кода Глава 3. Как сказать «да» Язык обещаний Признаки пустых обещаний Признаки серьезных обещаний Выполнение обещания зависит от другого человека X Вы не уверены в том, что обещание можно выполнить Вы не справились Резюме Учимся говорить «да» Обратная сторона «попытки» Дисциплинированное принятие обязательств Итоги Глава 4. Написание кода Готовность Ночное программирование Программирование в расстроенных чувствах Зона потока Музыка Помехи Творческий кризис Творческий ввод Отладка Время отладки Выбор темпа Умейте остановиться По дороге домой Душ Отставание от графика Надежда Спешка Сверхурочные Ложная готовность Определение «готовности» Помощь Как помогать другим Как принимать помощь Обучение Глава 5. Разработка через тестирование Вердикт вынесен Три закона TDD Длинный перечень преимуществ Уверенность Снижение плотности дефектов Смелость Документация Архитектура Выбор профессионалов Чем TDD не является Глава 6. Тренировка Азы тренировки Двадцать два нуля Длительность рабочего цикла Додзё программирования Ката Вадза Рандори Расширение кругозора Проекты с открытым кодом Этика тренировки Заключение Глава 7. Приемочное тестирование Передача требований Преждевременная точность Принцип неопределенности Стремление к точности оценки Поздняя неоднозначность Приемочные тесты Что такое «выполнено»? Взаимодействие сторон Автоматизация Дополнительная работа Кто и когда пишет приемочные тесты? Роль разработчика Обсуждение тестов и пассивно-агрессивная позиция Приемочные тесты и модульные тесты Графические интерфейсы и другие сложности Выбор интерфейса для тестирования Непрерывная интеграция Стоп-сигнал Заключение Глава 8. Стратегии тестирования Контроль качества не должен находить дефекты Служба контроля качества — часть команды Создание спецификаций Описание характеристик системы Пирамида автоматизациитестирования Модульные тесты Компонентные тесты Интеграционные тесты Системные тесты Исследовательские тесты Заключение Глава 9. Планирование Встречи Отказ от участия Уход со встречи Повестка дня и цель Пятиминутка Встречи планирования итераций Ретроспективные встречи по итерациям и демонстрации Споры и разногласия Мана концентрации Перезарядка Сон Кофеин Физические упражнения Ввод и вывод Помидоры и распределение времени Уклонение от работы Инверсия приоритетов Тупики Грязь, болота и трясины Заключение Глава 10. Оценки Что такое «оценка»? Обязательства Оценка Подразумеваемые обязательства PERT Оценка времени выполнения Широкополосный дельфийский метод Метод быстрого голосования Покер планирования Аффинная оценка Анализ по трем переменным Закон больших чисел Заключение Глава 11. Под давлением Как избежать давления Обязательства Как сохранить чистоту Дисциплина в кризисных ситуациях Как вести себя в тяжелой ситуации Без паники Взаимодеиствие Доверяйте своим методам Помощь Заключение Глава 12. Сотрудничество Программисты и люди Программисты и работодатели Программисты и программисты Принадлежность кода Коллективная принадлежность кода Парное программирование Как работать мозжечком Заключение Глава 13. Группы и проекты Формирование группы «Притертая» группа Созреванье Что сначала — группа или проект? Но как управлять такой группой? Дилемма владельца проекта Заключение Глава 14. Наставники, ученики и мастерство Диплом для неподготовленных Обучение Digi-comp I, мой первый компьютер ECP-18 в средней школе Нетрадиционное обучение Горький опыт Ученичество Период ученичества Мастер Ремесленник Ученики/интерны Реальность Профессионализм Как убедить людей Заключение Приложение. Инструментарий Инструменты Управление исходным кодом «Корпоративные» системы управления исходным кодом Пессимистическая и оптимистическая блокировка CVS/SVN Разветвление git IDE/редактор vi Emacs Eclipse/IntelliJ TextMate Отслеживание задач Счетчики дефектов Непрерывная сборка Инструменты модульного тестирования Инструменты компонентного тестирования Определение FitNesse Другие инструменты Инструменты интеграционноготестирования
Similar books
Чистая архитектура. Искусство разработки программного обеспечения
2021 · PDF
Идеальный программист. Как стать профессионалом разработки ПО
2016 · PDF
Идеальный программист. Как стать профессионалом разработки ПО
2012 · PDF
97 этюдов для программистов. Опыт ведущих экспертов
2012 · PDF
Идеальный программист: как стать профессионалом разработки ПО
2018 · PDF
Idealnyy programmist. Kak stat professionalom razrabotki PO
2012 · PDF
Чистый код. Создание, анализ и рефакторинг.
2010 · PDF
Чистый код. Создание, анализ и рефакторинг.
2013 · PDF