一句话:通过访谈与问卷揭示 Java API 开发者对弃用机制的需求,并提出三项增强方案。
弃用(deprecation)是一种语言特性,允许 API 生产者将某个特性标记为过时。本文旨在深入理解 API 生产者与消费者对弃用的需求。作者对 17 名第三方 Java API 生产者进行半结构化访谈,并调查了 170 名 Java 开发者,考察生产者为何弃用特性、是否移除已弃用特性、期望消费者如何反应,以及促使消费者对弃用作出反应的原因。研究发现,Java 当前的弃用机制及已有的增强提案均无法完全满足开发者的需求。基于这些发现,作者提出并评估了三项针对弃用机制的进一步增强方案。
Deprecation is a language feature that allows API producers to mark a feature as obsolete. We aim to gain a deep understanding of the needs of API producers and consumers alike regarding deprecation. To that end, we investigate why API producers deprecate features, whether they remove deprecated features, how they expect consumers to react, and what prompts an API consumer to react to deprecation. To achieve this goal we conduct semi-structured interviews with 17 third-party Java API producers and survey 170 Java developers. We observe that the current deprecation mechanism in Java and the proposal to enhance it does not address all the needs of a developer. This leads us to propose and evaluate three further enhancements to the deprecation mechanism.
@inproceedings{paperbot4426,
title = {Understanding developers' needs on deprecation as a language feature},
author = {Anand Ashok Sawant and Maurício Aniche and Arie van Deursen and Alberto Bacchelli},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180170}
}