Modern software development requires developers to find and effectively utilize new APIs and their documentation, but documentation has many well-known issues. Despite this, developers eventually overcome these issues but have no way of sharing what they learned. We investigate sharing this documentation-specific information through \textit{annotations}, which have advantages over developer forums as the information is contextualized, not disruptive, and is short, thus easy to author. Developers can also author annotations to support their own comprehension. In order to support the documentation usage behaviors we found, we built the Adamite annotation tool, which supports features such as multi-anchoring, annotation types, and pinning. In our user study, we found that developers are able to create annotations that are useful to themselves and are able to utilize annotations created by other developers when learning a new API, with readers of the annotations completing 79\% more of the task, on average, than the baseline.
翻译:现代软件开发需要开发商找到并有效利用新的 API 及其文件, 但文件有许多众所周知的问题。 尽管如此, 开发商最终克服了这些问题, 但却无法分享他们学到的东西。 我们调查通过\ textit{ annotations} 分享这种文件专用信息, 这些信息比开发商论坛有优势, 因为这些信息是背景化的, 不是干扰性的, 并且是简短的, 因而对于作者来说是容易的。 开发商也可以编写说明, 以支持他们自己的理解。 为了支持我们发现的文件使用行为, 我们建立了阿达米特说明工具, 支持多组化、 批注类型和插针等特征。 在用户研究中, 我们发现开发商能够创建对自己有用的说明, 并且能够利用其他开发商在学习新的 API 时创造的说明, 说明的读者平均完成79 个任务, 比基线多。