中文

使用特性开关的软件开发:从业者所用实践

软件工程 2021-03-30 v2

摘要

背景:使用特性开关(feature toggle)是一种允许开发者通过条件语句中的变量将特性开启或关闭的技术。软件公司日益使用特性开关以促进持续集成与持续交付。然而,不当使用特性开关可能引发严重问题,如代码复杂度、死代码与系统故障。例如,对美国全球金融服务公司 Knight Capital Group 而言,旧特性开关的错误重用因其导致的系统行为不正确而致使该公司破产。目的:本研究项目旨在通过实证考察从业者对特性开关实践的使用,来辅助软件从业者运用相关实践以支持基于特性开关的软件开发。方法:我们对来自灰色文献的 99 篇制品以及 10 篇关于特性开关的同行评审论文进行了定性分析。我们对来自 38 家公司的从业者开展了调查。结果:我们识别出 4 类共 17 项实践:管理实践、初始化实践、实现实践与清理实践。我们观察到所有调查受访者都在其代码中使用专用工具来创建与管理特性开关。记录特性开关的元数据、为特性开关设置默认值以及记录特性开关上的变更也是频繁观察到的实践。结论:本工作发现并列举的特性开关开发实践可帮助从业者更有效地使用特性开关。本工作可促成未来对代码仓库的挖掘以自动识别特性开关实践。

关键词

引用

@article{arxiv.1907.06157,
  title  = {Software Development with Feature Toggles: Practices used by Practitioners},
  author = {Rezvan Mahdavi-Hezaveh and Jacob Dremann and Laurie Williams},
  journal= {arXiv preprint arXiv:1907.06157},
  year   = {2021}
}

备注

Paper submitted to Empirical Software Engineering Journal