How a good software practice thwarts collaboration: the multiple roles of APIs in software development

How a good software practice thwarts collaboration: the multiple roles of APIs in software development
复制标题

DOI:
10.1145/1029894.1029925
复制
发表时间:
2004-10
期刊:
--
影响因子:
--
通讯作者:
C. D. Souza;D. Redmiles;Li-Te Cheng;D. Millen;J. Patterson
C. D. Souza;D. Redmiles;Li-Te Cheng;D. Millen;J. Patterson
中科院分区:
其他
文献类型:
--
作者:
C. D. Souza;D. Redmiles;Li-Te Cheng;D. Millen;J. Patterson

文献摘要

被引文献

相似文献

信息隐藏原理自1972年问世以来,在软件工程中一直具有很大的影响力。这一原则规定软件模块对其他模块隐藏实现细节,以减少它们之间的相互依赖。这种分离还减少了实现模块的软件开发人员之间的依赖,从而简化了协作的某些方面。这一原则的一个常见实例化形式是应用程序编程接口(API)。我们对从业者在日常工作中如何使用原料药进行了定性研究。尽管我们对协作的各个方面特别感兴趣,但我们报告了所有关于观察到的使用情况的发现。这些发现包括通过理论预测的平凡观察,即API支持协作软件开发的方式。但这些发现也包括一些令人惊讶的地方,即API阻碍合作的方式。这些惊喜为进一步改进协作软件开发实践和工具指明了方向。
The principle of information hiding has been very influential in software engineering since its inception in 1972. This principle prescribes that software modules hide implementation details from other modules in order to decrease their interdependencies. This separation also decreases the dependency among software developers implementing modules, thus simplifying some aspects of collaboration. A common instantiation of this principle is in the form of application programming interfaces (APIs). We performed a qualitative study on how practitioners use APIs in their daily work. Although particularly interested in aspects of collaboration, we report all findings about their observed use. The findings include mundane observations that are predicted by theory, ways that APIs support collaborative software development. But the findings also include some surprises, ways that APIs hinder collaboration. The surprises indicate directions for further improvement of collaborative software development practices and tools.