工作被打断的高昂代价

Chris Parnin以“ninlabs research”的名义发布了一份报告,对来自86位使用Eclipse和Visual Studio的程序员的10000份编程情景记录进行了研究。在这份名为“被打断的程序员“的文章中,他揭示了一些出乎意料且令人担忧的数据:

\
  • 在代码编辑工作被打断后,程序员需要10到15分钟来重新开始。\
  • 在编辑方法时被打断,程序员只有10%的概率会在一分钟内继续工作。\
  • 程序员可能每天只有一段2小时的连续时间未被打断。\

Chris还指出,

\
\

我们还观察到程序员应对打扰的一些办法:

\
  • 在大部分情境下,程序员在继续编辑代码前,需要浏览多个位置来重新进入状态。\
  • 程序员刻意插入一些编译错误,强制设定“路障“来提醒自己。\
  • 源码比对可以视作一种不得已的恢复状态的办法,但这种检查相当麻烦。\
\

为了判断程序员的“记忆负担“,Chris和他的同事们使用了一种名为瞳孔测量法的技术。在60年代,研究人员发现当人在进行挑战性思考的时候瞳孔会扩大,而在找到解决方案时瞳孔会收缩。该现象在进行认知任务,例如记忆和背诵单词时也会出现。

\

他们用于检查“记忆负担“的另一个技术,是观察默读行为。Chris在一篇相关论文中写到:

\
\

我们发现默读行为与某些活动强烈相关,而与其他活动的关联则是有条件的。默读就与代码编辑强烈相关。我们发现,当人浏览程序代码时,默读现象会在特定的情况下出现。它主要发生在遇到重要的代码时,如俄罗斯方块中的方块移动逻辑,以及测试方块何时停止移动。我们还发现,在开发者进行调试和测试时,默读的出现与问题界定和方案评估相关。

\
\

该文还讨论了记忆的不同类型,以及它们与程序员的工作流程有何关联。这些不同类型的记忆包括:

\
  • 前瞻记忆:提醒未来特定情况下的行动,例如下班回家路上买牛奶。\
  • 专心记忆:这是一种有意识的记忆,可以自由地向其中添加信息。\
  • 关联记忆:一系列潜意识中建立的对某些表现与其并发刺激的关联。\
  • 情景记忆:回忆过去的事件。\

Chris Parnin是佐治亚理工学院计算机分院的博士生。他的研究方向包括软件开发中的经验主义、人机交互和认知神经科学等方面。他研究了实践中软件开发是如何进行的,以及特定工具如何帮助或妨碍这一过程。

\

查看英文原文The High Cost of Interruptions

\

感谢臧秀涛对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值