РуЛиб - онлайн библиотека > Мартин Роберт > Программирование: прочее > Идеальный программист. Как стать профессионалом разработки ПО > страница 2

Читаем онлайн «Идеальный программист. Как стать профессионалом разработки ПО» 2 cтраница

.
Признаки серьезных обещаний . . . . . . . . . . . . . . . . . . . . . . . . . . .
Выполнение обещания зависит от другого человека X. . . . . .
Вы не уверены в том, что обещание можно выполнить . . . . .
Вы не справились . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Учимся говорить «да» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Обратная сторона «попытки» . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Дисциплинированное принятие обязательств . . . . . . . . . . . . .
Итоги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
59
59
60
61
62
62
63
63
64
66
Глава 4. Написание кода . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Готовность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ночное программирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Программирование в расстроенных чувствах . . . . . . . . . . . . . .
Зона потока . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Музыка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Помехи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Творческий кризис . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Творческий ввод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Отладка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Время отладки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Выбор темпа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Умейте остановиться . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
По дороге домой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Душ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Отставание от графика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Надежда . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Спешка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Сверхурочные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ложная готовность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Определение «готовности» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Помощь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Как помогать другим . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
70
70
72
73
74
74
75
76
79
79
80
80
80
81
81
81
82
83
83
84
84
8
Содержание
Как принимать помощь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Обучение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Глава 5. Разработка через тестирование . . . . . . . . . . . . 87
Вердикт вынесен . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Три закона TDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Длинный перечень преимуществ . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Уверенность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Снижение плотности дефектов . . . . . . . . . . . . . . . . . . . . . . . . . . .
Смелость . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Документация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Архитектура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Выбор профессионалов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Чем TDD не является . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
89
90
90
91
91
92
93
94
94
Глава 6. Тренировка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Азы тренировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Двадцать два нуля . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Длительность рабочего цикла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Додзё программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Ката . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Вадза . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Рандори . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Расширение кругозора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Проекты с открытым кодом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Этика тренировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Глава 7. Приемочное тестирование . . . . . . . . . . . . . . . . 105
Передача требований . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Преждевременная точность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Принцип неопределенности . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Стремление к точности оценки . . . . . . . . . . . . . . . . . . . . . . . . . .
Поздняя неоднозначность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Приемочные тесты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Что такое «выполнено»? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Взаимодействие сторон . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
105
107
107
108
108
110
110
113
Содержание
Автоматизация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Дополнительная работа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Кто и когда пишет приемочные тесты? . . . . . . . . . . . . . . . . . . .
Роль разработчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Обсуждение тестов и пассивно-агрессивная позиция . . . . .
Приемочные тесты и модульные тесты . . . . . . . . . . . . . . . . . . .
Графические интерфейсы и другие сложности . . . . . . . . . . . .
Выбор интерфейса для тестирования . . . . . . . . . . . . . . .