- PVSM.RU - https://www.pvsm.ru -

Никогда не отвлекай программиста!

Во многих компаниях программистам запрещают работать в наушниках или отвлекают их по мелким вопросам. Вероятно, причина кроется в плохой информированности менеджеров и других сотрудников, насколько вредно так делать.

Крис Парнин (Chris Parnin) из технологического института Джорджии решил восполнить этот недостаток и опубликовал чрезвычайно насыщенную статью [1] со ссылками на различные исследования по этой теме.

Для начала, несколько фактов, которые относятся ко всем работникам интеллектуального труда. Задача, прерванная по ходу выполнения, занимает в два раза больше времени и содержит вдвое больше ошибок, чем та же задача, которая выполнялась без прерывания (Czerwinski:04 [2]). Офисные сотрудники вынуждены отвлекаться при выполнении 57% задач (Mark:05 [3]). Опросы говорят о том, что сотруднику требуется в среднем 15 минут, чтобы вернуться в нормальный ритм после того, как его отвлекли (vanSolingen:98 [4]).

Крис Парнин провёл собственное обширное исследование именно среди программистов [5] (pdf). Было проанализировано около 10 000 рабочих сессий в Eclipse и Visual Studio от 414 разработчиков. Вот что обнаружилось:

• Программисту требуется от 10 до 15 минут, чтобы начать писать код после возобновления работы.

• Программисту обычно удаётся всего одна 2-часовая рабочая сессия без отвлечений в течение рабочего дня.

• В большинстве случаев после возобновления работы программист прокручивает проект в определённые области для восстановления контекста.

• Программисты вставляют специальные ошибки компилирования в качестве «напоминаний».

• Diff исходного кода служит как последний шанс восстановить события, но может быть громоздким для этой задачи.

Крис Парнин с коллегами изучили, в какие рабочие отрезки хуже всего отвлекать программиста. Исследования с замеров диаметра зрачков показали, что наибольший вред несёт прерывание работы в период максимальной загрузки памяти.

Никогда не отвлекай программиста! [6]

При этом программисту требуется как минимум 7 минут, чтобы перейти из состояния максимальной активности памяти в состояние минимальной активности. Экстраполировав эти результаты на рабочие сессии программистов, Парнин обнаружил, что хуже всего отвлекать программиста во время выполнения следующих задач:

  • Во время изменения кода, особенно во время одновременного изменения кода в нескольких местах.
  • Активность по навигации и поиску.
  • Понимание потока данных и порядка выполнения инструкций в коде.
  • Окно IDE не в фокусе.

Автор: alizar

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/25439

Ссылки в тексте:

[1] чрезвычайно насыщенную статью: http://blog.ninlabs.com/2013/01/programmer-interrupted/

[2] Czerwinski:04: http://dx.doi.org/10.1145/985692.985715

[3] Mark:05: http://dx.doi.org/10.1145/1054972.1055017

[4] vanSolingen:98: http://dx.doi.org/10.1109/52.714843

[5] исследование именно среди программистов: http://www.cc.gatech.edu/~vector/papers/sqj.pdf

[6] Image: http://blog.ninlabs.com/media/Pupil.png

[7] Источник: http://habrahabr.ru/post/166715/