Никогда не отвлекай программиста!
- Главная
- >
- Tutti Frutti - понемногу обо всём
- >
- Никогда не отвлекай программиста!
Во многих компаниях программистам запрещают работать в наушниках или отвлекают их по мелким вопросам. Вероятно, причина кроется в плохой информированности менеджеров и других сотрудников, насколько вредно так делать.
Крис Парнин (Chris Parnin) из технологического института Джорджии решил восполнить этот недостаток и опубликовал чрезвычайно насыщенную статью со ссылками на различные исследования по этой теме.
Для начала, несколько фактов, которые относятся ко всем работникам интеллектуального труда. Задача, прерванная по ходу выполнения, занимает в два раза больше времени и содержит вдвое больше ошибок, чем та же задача, которая выполнялась без прерывания ( Czerwinski:04 ). Офисные сотрудники вынуждены отвлекаться при выполнении 57% задач ( Mark:05 ). Опросы говорят о том, что сотруднику требуется в среднем 15 минут, чтобы вернуться в нормальный ритм после того, как его отвлекли ( vanSolingen:98 ).
Крис Парнин провёл собственное обширное исследование именно среди программистов (pdf). Было проанализировано около 10 000 рабочих сессий в Eclipse и Visual Studio от 414 разработчиков. Вот что обнаружилось:
• Программисту требуется от 10 до 15 минут, чтобы начать писать код после возобновления работы.
• Программисту обычно удаётся всего одна 2-часовая рабочая сессия без отвлечений в течение рабочего дня.
• В большинстве случаев после возобновления работы программист прокручивает проект в определённые области для восстановления контекста.
• Программисты вставляют специальные ошибки компилирования в качестве «напоминаний».
• Diff исходного кода служит как последний шанс восстановить события, но может быть громоздким для этой задачи.
Крис Парнин с коллегами изучили, в какие рабочие отрезки хуже всего отвлекать программиста. Исследования с замеров диаметра зрачков (см.картинку) показали, что наибольший вред несёт прерывание работы в период максимальной загрузки памяти.
Программисту требуется как минимум 7 минут, чтобы перейти из состояния максимальной активности памяти в состояние минимальной активности. Экстраполировав эти результаты на рабочие сессии программистов, Парнин обнаружил, что хуже всего отвлекать программиста во время выполнения следующих задач:
- Во время изменения кода, особенно во время одновременного изменения кода в нескольких местах.
- Активность по навигации и поиску.
- Понимание потока данных и порядка выполнения инструкций в коде.
- Окно IDE не в фокусе.
Интересные комментарии тут: http://habrahabr.ru/post/166715 /