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

C. D. Souza, D. Redmiles, Li-Te Cheng, D. Millen, J. Patterson
{"title":"How a good software practice thwarts collaboration: the multiple roles of APIs in software development","authors":"C. D. Souza, D. Redmiles, Li-Te Cheng, D. Millen, J. Patterson","doi":"10.1145/1029894.1029925","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":121365,"journal":{"name":"SIGSOFT '04/FSE-12","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"129","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIGSOFT '04/FSE-12","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1029894.1029925","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 129

Abstract

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.
良好的软件实践如何阻碍协作:api在软件开发中的多重角色
信息隐藏原理自1972年提出以来,在软件工程中产生了很大的影响。该原则规定软件模块对其他模块隐藏实现细节,以减少它们之间的相互依赖性。这种分离还减少了实现模块的软件开发人员之间的依赖性,从而简化了协作的某些方面。该原则的一个常见实例是以应用程序编程接口(api)的形式出现的。我们对从业者在日常工作中如何使用api进行了定性研究。虽然对合作方面特别感兴趣,但我们报告了有关其观察到的使用的所有发现。这些发现包括由理论预测的平凡观察,api支持协作软件开发的方式。但调查结果也包括一些令人惊讶的地方,即api阻碍合作的方式。这些惊喜为进一步改进协作软件开发实践和工具指明了方向。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书