TDD and Diffuse Mode

Сейчас смотрел видеоматериалы курса об обучении с Coursera.

В первом модуле там говорится о существовании двух режимов мозга: focused mode и diffuse mode. Focused mode — режим в котором мы концентрируемся на какой-то задаче не отвлекаясь на посторонние раздражители. В diffuse mode мы, напротив, ни на чем не концентрируемся, расслабляя ум, и в этом режиме происходит другой характер работы над предметом.

В видеоролике, который я сегодня посмотрел, Барбара брала интервью у редактора журнала и известной (в Америке) писательницы по совместительству. Очень интересный момент, который я услышал — в режиме “focused mode” она редактирует тексты, а в режиме “diffuse mode” — пишет. Попытки заниматься деятельностью, не подходящей к режиму ни к чему хорошему не приводило — в focused mode она писала с очень большим трудом, а в diffuse mode очевидно ты пропустишь кучу стилистических, орфографических и прочих ошибок.

К чему я все это? Похожую аналогию можно провести с программированием. Нам нужно быстрая генерация идей, при этом для нас важно, чтобы они оказались рабочими — мы не можем сначала написать десять страниц кода, а потом проверить насколько они рабочие. В этом нам помогают наши любимые unit-тесты. Они работают быстро, их можно запускать часто, даже постоянно (есть даже, например, программа под названием guard для этого). Это позволяет нам творить не задумываясь над деталями реализации, и оно еще при этом будет работать. После того как наколбасили класс-другой можно посмотреть порефакторить, если кажется, что это нужно, либо закоммитить как есть. Более всего, наверное, это подходит к ruby, который идеально подходит для режима “пиши что думаешь”.

Как считаете, наблюдается ли такое?

Comments