Using feature toggles is a technique that allows developers to either turn a feature on or off with a variable in a conditional statement. Feature toggles are increasingly used by software companies to facilitate continuous integration and continuous delivery. However, using feature toggles inappropriately may cause problems, such as dead code and code complexity. For example, repurposing an old feature toggle which activated functionality that had been unused for 8 years caused Knight Capital Group to go bankrupt. The awareness of feature toggle industry practices can help practitioners use feature toggles since software practitioners usually prefer to learn through the experiences of other software practitioners. The goal of this research project is to aid software practitioners in the use of feature toggles through an empirical study of feature toggle practice usage. We conducted a qualitative analysis of 109 Internet artifacts about feature toggles and also conducted a follow-up survey to find the frequency of usage of feature toggles in industry. We identified 17 practices in 4 categories: Management practices, Initialization practices, Implementation practices, and Clean-up practices. We observed that all of the survey's respondents use a dedicated tool to create and manage feature toggles in their code. Using a maintenance tool, setting up the default value for feature toggles, and logging the changes made on feature toggles are also frequently-observed practices in Internet artifacts. The feature toggle driven development practices discovered and enumerated in this work can raise the practitioners' awareness of usage of feature toggles in industry and help the practitioners to better use feature toggles in their projects. The practices discovered through this work can enable future quantitative analysis to mine code repositories to automatically identify these practices.


翻译:使用特性 使用特性 使用 特性 使用 特性 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 特性 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 功能 使用 一种 功能 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 使用 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 使用 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术 技术

0
下载
关闭预览

相关内容

[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
20+阅读 · 2019年10月9日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【推荐】MXNet深度情感分析实战
机器学习研究会
16+阅读 · 2017年10月4日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
VIP会员
相关VIP内容
[综述]深度学习下的场景文本检测与识别
专知会员服务
78+阅读 · 2019年10月10日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
20+阅读 · 2019年10月9日
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【推荐】MXNet深度情感分析实战
机器学习研究会
16+阅读 · 2017年10月4日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员