69
Полный список утилит: https://en.wikipedia.org/wiki/List_of_Unix_commands, проверено 12 марта 2017 года.
70
Вы действительно обеспокоены тем, что существует множество крайних случаев, которые не обрабатываются в нашем примере? Например, предполагается, что все адреса находятся в США, строка заголовка не обрабатывается, не принимаются в расчет закавыченные строчки с вложенными запятыми. Не надо обращать внимание на такие случаи – это всего лишь учебный пример.
71
Муравьи – это также хороший пример несвязанных модулей, использующих простую коммуникацию (при помощи феромонов), что приводит к сложному поведению системы в целом.
72
Считаете ли вы, что создаете сложные модульные тесты? Добиваетесь ли вы 100 %-ного тестового покрытия искусственно, придумывая тесты на все случаи жизни или очень сложные объекты? Получаете ли вы в итоге трудноизменяемые модульные тесты? Есть ли у вас тесты, закомментированные из-за того, что кому-то потребовалось внести изменения, «сломавшие» тест, а исправить его он не смог? Если вы ответили утвердительно на любой из этих вопросов, то, вероятно, создаете модульные тесты, которые усложняют ваш код, вместо того чтобы его упрощать.
73
В том числе и мы, поскольку выработали привычку всегда использовать TDD при написании кода.
74
Очень трудно не заметить сарказма в сообщении Кента Бека, опубликованном в Facebook. Объяснение этой шутки делает ее несмешной. Но дабы быть правильно понятым, Кент рассказывает, что раз TDD мертва, то он будет искать ему замену, которая была бы не хуже.
75
David Heinemeier Hansson. TDD is dead. Long live testing (23 апреля 2014 года).
76
77
Существует великолепный ресурс для изучения вариантного мышления. Это образный роман Олава Маасена, Криса Маттса и Криса Гири Commitment. Можете поблагодарить Дэвида Андерсена за то, что он порекомендовал его нам.
78
Если у вас есть опыт работы в сфере финансов, то вы найдете много общего с этим миром, когда дело доходит до вариантного мышления. Трейдеры и портфельные менеджеры продают и покупают опционы или инструменты, что дает одной стороне опцион на покупку или продажу базовой акции или товара (например, нефти или пшеницы) на определенную дату по определенной цене. Это дает им возможность придерживаться стратегии покупать акции или товары без необходимости полностью нести обязательства обладания ими. Другими словами, они могут держать свои опционы открытыми.