Идеальный программист. Как стать профессионалом разработки ПО
Роберт Мартин
Всех программистов, которые добиваются успеха в мире разработки ПО, отличает один общий признак: они больше всего заботятся о качестве создаваемого программного обеспечения. Это - основа для них. Потому что они являются профессионалами своего дела.
В этой книге легендарный эксперт Роберт Мартин (более известный в сообществе как «Дядюшка Боб»), автор бестселлера «Чистый код», рассказывает о том, что значит «быть профессиональным программистом», описывая методы, инструменты и практики разработки «идеального ПО». Книга насыщена практическими советами в отношении всех аспектов программирования: от оценки проекта и написания кода до рефакторинга и тестирования. Эта книга - больше, чем описание методов, она о профессиональном подходе к процессу разработки.
Издательство: Питер, 2012 г.
ISBN 978-5-459-01044-2, 978-0137081073
Количество страниц: 224.
Содержание книги «Идеальный программист. Как стать профессионалом разработки ПО»:
- 13 Обязательное вступление
- 18 От издательства
- 19 Глава 1. Профессионализм
- 20 Оборотная сторона профессионализма
- 20 Ответственность
- 23 Первое правило: не навреди
- 23 Не навреди функциональности
- 24 Контроль качества не должен ничего обнаружить
- 25 Вы должны быть уверены в том, что ваш код работает
- 26 Автоматизированный контроль качества
- 26 Не навреди структуре
- 28 Трудовая этика
- 29 Знай свою область
- 30 Непрерывное обучение
- 31 Тренировка
- 32 Совместная работа
- 32 Наставничество
- 33 Знание предметной области
- 33 Понимание интересов работодателя/заказчика
- 33 Скромность
- 35 Глава 2. Как сказать «нет»
- 37 Антагонистические роли
- 40 Как насчет «почему»
- 41 Высокие ставки
- 42 Умение работать в коллективе
- 41 Не пытайтесь
- 46 Пассивная агрессивность
- 47 Цена согласия
- 53 О невозможности хорошего кода
- 37 Антагонистические роли
- 56 Глава 3. Как сказать «да»
- 58 Язык обещаний
- 59 Признаки пустых обещаний
- 59 Признаки серьезных обещаний
- 60 Выполнение обещания зависит от другого человека X
- 61 Вы не уверены в том, что обещание можно выполнить
- 62 Вы не справились
- 62 Резюме
- 63 Учимся говорить «да»
- 63 Обратная сторона «попытки»
- 64 Дисциплинированное принятие обязательств
- 66 Итоги
- 58 Язык обещаний
- 67 Глава 4. Написание кода
- 68 Готовность
- 70 Ночное программирование
- 70 Программирование в расстроенных чувствах
- 72 Зона потока
- 73 Музыка
- 74 Помехи
- 74 Творческий кризис
- 75 Творческий ввод
- 76 Отладка
- 79 Время отладки
- 79 Выбор темпа
- 80 Умейте остановиться
- 80 По дороге домой
- 80 Душ
- 81 Отставание от графика
- 81 Надежда
- 81 Спешка
- 82 Сверхурочные
- 83 Ложная готовность
- 83 Определение «готовности»
- 84 Помощь
- 84 Как помогать другим
- 85 Как принимать помощь
- 86 Обучение
- 68 Готовность
- 87 Глава 5. Разработка через тестирование
- 89 Вердикт вынесен
- 89 Три закона TTD
- 90 Длинный перечень преимуществ
- 90 Уверенность
- 91 Снижение плотности дефектов
- 91 Смелость
- 92 Документация
- 93 Архитектура
- 94 Выбор профессионалов
- 94 Чем TTD не является
- 95 Глава 6. Тренировка
- 96 Азы тренировки
- 97 Двадцать два нуля
- 98 Длительность рабочего цикла
- 99 Додзё программирования
- 100 Ката
- 101 Вадза
- 102 Рандори
- 103 Расширение кругозора
- 103 Проекты с открытым кодом
- 103 Этика тренировки
- 104 Заключение
- 96 Азы тренировки
- 105 Глава 7. Приемочное тестирование
- 105 Передача требований
- 107 Преждевременная точность
- 107 Принцип неопределенности
- 108 Стремление к точности оценки
- 108 Поздняя неоднозначность
- 110 Приемочные тесты
- 110 Что такое «выполнено»?
- 113 Взаимодействие сторон
- 113 Автоматизация
- 115 Дополнительная работа
- 115 Кто и когда пишет приемочные тесты?
- 116 Роль разработчика
- 117 Обсуждение тестов и пассивно-агрессивная полиция
- 119 Приемочные тесты и модульные тесты
- 120 Графические интерфейсы и другие сложности
- 121 Выбор интерфейса для тестирования
- 122 Непрерывная интеграция
- 122 Стоп-сигнал
- 122 Заключение
- 105 Передача требований
- 124 Глава 8. Стратегии тестирования
- 125 Контроль качества не должен находить дефекты
- 125 Служба контроля качества – часть команды
- 126 Пирамида автоматизации тестирования
- 126 Модульные тесты
- 127 Компонентные тесты
- 128 Интеграционные тесты
- 129 Системные тесты
- 130 Исследовательские тесты
- 130 Заключение
- 125 Контроль качества не должен находить дефекты
- 132 Глава 9. Планирование
- 133 Встречи
- 134 Отказ от участия
- 134 Уход со встречи
- 135 Повестка дня и цель
- 135 Пятиминутка
- 136 Встречи планирования итераций
- 136 Ретроспективные встречи по итерациям и демонстрации
- 137 Споры и разногласия
- 138 Мана концентрации
- 139 Перезарядка
- 139 Физические упражнения
- 140 Ввод и вывод
- 140 Помидоры и распределение времени
- 141 Уклонение от работы
- 142 Инверсия приоритетов
- 142 Тупики
- 143 Грязь, болота и трясины
- 144 Заключение
- 133 Встречи
- 145 Глава 10. Оценки
- 147 Что такое «оценка»?
- 148 Обязательства
- 148 Оценка
- 150 Подразумеваемые обязательства
- 151 PERT
- 154 Оценка времени выполнения
- 154 Широкополосный дельфийский метод
- 155 Метод быстрого голосования
- 155 Покер планирования
- 156 Аффинная оценка
- 157 Анализ по трем переменным
- 157 Закон больших чисел
- 157 Заключение
- 147 Что такое «оценка»?
- 159 Глава 11. Под давлением
- 161 Как избежать давления
- 161 Обязательства
- 162 Как сохранить чистоту
- 163 Дисциплина в кризисных ситуациях
- 163 Как вести себя в тяжелой ситуации
- 163 Без паники
- 164 Взаимодействие
- 164 Доверяйте своим методам
- 164 Помощь
- 165 Заключение
- 161 Как избежать давления
- 166 Глава 12. Сотрудничество
- 168 Программисты и люди
- 168 Программисты и работодатели
- 171 Программисты и программисты
- 171 Принадлежность кода
- 172 Коллективная принадлежность кода
- 172 Парное программирование
- 173 Как работать мозжечком
- 174 Заключение
- 168 Программисты и люди
- 175 Глава 13. Группы и проекты
- 176 Формирование группы
- 176 «Притертая» группа
- 177 Созревание
- 177 Что сначала – группа или проект?
- 178 Но как управлять такой группой?
- 178 Дилемма владельца проекта
- 179 Заключение
- 176 Формирование группы
- 180 Глава 14. Наставники, ученики и мастерство
- 181 Диплом для неподготовленных
- 182 Обучение
- 182 Digi-comp I, мой первый компьютер
- 183 ECP-18 в средней школе
- 186 Нетрадиционное обучение
- 187 Горький опыт
- 187 Ученичество
- 189 Период ученичества
- 189 Мастер
- 190 Ремесленник
- 190 Ученики интерны
- 191 Реальность
- 191 Профессионализм
- 192 Как убедить людей
- 192 Заключение
- 193 Приложение. Инструментарий
- 195 Инструменты
- 195 Управление исходным кодом
- 195 «Корпоративные» системы управления исходным кодом
- 196 Пессимистическая и оптимистическая блокировка
- 197 CVS/SVN
- 200 IDE/редактор
- 203 Непрерывная сборка
- 204 Инструменты модульного тестирования
- 205 Инструменты компонентного тестирования
- 205 Определение
- 206 FitNesse
- 206 Другие инструменты
- 207 Инструменты интеграционного тестирования
- 207 UML/MDA
- 208 Детализация
- 209 Без изменений и надежд
- 210 Заключение
- 211 Алфавитный указатель
Инструкция как скачать книгу Роберт Мартин: Идеальный программист. Как стать профессионалом разработки ПО в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.