一句话:对10名工业界开发者的实地研究,揭示开发者将任务分解为具有不同目标的子单元,并呈现特定的排序模式与上下文维持方式。
为构建支持复杂编程任务的工具,必须理解开发者实际的编程行为。已有研究知道开发者会围绕任务收集相关信息以构建上下文,也会将任务递归分解为更小的单元,但仍存在若干知识空白:上下文如何支撑这些更小的任务单元、这些单元之间存在怎样的关系,以及上下文如何跨单元流动。本文通过在工业环境中对十名职业开发者开展实地研究,深入考察开发者如何组织任务并管理上下文。分析表明:开发者会将任务分解为具有不同目标的更小单元;这些单元在排序上存在特定的模式;并且开发者会在目标相关的单元之间维持上下文。这些发现为设计更贴合开发者真实工作流程的上下文管理与任务支持工具提供了实证基础。
In order to build efficient tools that support complex programming tasks, it is imperative that we understand how developers program. We know that developers create a context around their programming task by gathering relevant information. We also know that developers decompose their tasks recursively into smaller units. However, important gaps exist in our knowledge about: (1) the role that context plays in supporting smaller units of tasks, (2) the relationship that exists among these smaller units, and (3) how context flows across them. The goal of this research is to gain a better understanding of how developers structure their tasks and manage context through a field study of ten professional developers in an industrial setting. Our analysis reveals that developers decompose their tasks into smaller units with distinct goals, that specific patterns exist in how they sequence these smaller units, and that developers may maintain context between those smaller units with related goals.
@inproceedings{Chattopadhyay0G19,
title = {Latent Patterns in Activities: A Field Study of How Developers Manage Context},
author = {Souti Chattopadhyay and Nicholas Nelson and Yenifer Ramirez Gonzalez and Annel Amelia Leon and Rahul Pandita and Anita Sarma},
booktitle = {ICSE},
year = {2019},
doi = {10.1109/icse.2019.00051}
}