特性切换

✍ dations ◷ 2025-04-25 01:29:43 #计算机编程,软件工程

特性切换或称功能切换,英语:feature toggle、feature switch、feature flag、feature flipper或conditional feature等。它是软件开发中的一种技术,是替代维护多个源代码分支(也称特性分支)的一种方案,这使特性在完成并正式发布前也可以得到测试。特性切换是在运行期间隐藏、启用或禁用特定功能。例如在开发过程中,开发人员可以启用功能以进行测试,而其他用户不会被启用该功能和受到它的影响。

持续发布和持续交付为开发人员提供了有关其代码的快速反馈,而这要求尽早地集成其代码更改。特性分支为此过程引入了一个旁路。特性切换是实现持续交付的一项重要技术。

这种技术使开发人员得以发布包含未完成功能的产品版本。这些未完成的功能被隐藏或被禁用,因此不会出现在用户界面中。这使软件可以发布很多次小的增量版本,而无需承担不断分支与合并的成本。特性切换使软件集成的周期得以更短。项目团队可以使用特性切换来加速开发过程,因为产品中可以包含默认不启用的未完成代码。

特征切换在本质上是条件语句中使用的变量。因此,这些条件语句中的块可以根据特征切换的值切换为开或关。切换为关的代码块类似于被注释的代码。这是开发人员可以绕过它们软件中的某些流程,例如尚未准备好部署的功能。

功能切换的主要用途是避免在发布前的最后一刻因软件合并而产生的冲突。尽管这可能导致切换负债。切换负债是指一个功能已被永久关闭后,软件中仍存留着死亡的代码,并可能带来一些开销。这种代码必须被仔细甄别才能删除,以免干扰到其他代码。

功能切换主要有两种类型。一种是开发人员在产品发布之前决定保留或删除的发布切换(取决于其效果)。另一种是业务切换,它相较于旧的代码是满足不同的用法。

特性切换可用于以下情况:

特性切换可以存储在:

功能组由一组可切换的互相配合的功能组成。这使开发人员可以轻松管理一系列相关的切换开关。

特性标志的另一个好处是Canary发布。Canary发布(或Canary启动或Canary部署)允许开发人员逐步为一小群用户测试某项功能。如果功能的性能不令人满意,则可以回滚它,没有任何不利影响。

虽然在大多数编程语言(例如Java、Angular JS、PHP、JavaScript等)中可以轻松实现这种模式,也存在一些函数库来进一步简化这种用法。

马丁·福勒指出,功能切换应该是你将功能投入生产时的最后一种选择。取而代之,最好将功能分解成更小的部分,将每个部分安全地实现来引入到产品发布,从而避免导致问题。

许多大型网站都使用特性切换技术,包括Flickr、Disqus、Etsy、reddit、Gmail和Netflix。

有许多适用于各种编程语言和平台的开源的特性切换和特性标记解决方案。

相关

  • 普沃茨克普沃茨克(波兰语:Płock)是位于波兰中部马佐夫舍省的一个镇,之前曾是普沃茨克省的省会,位于维斯瓦河畔,面积88.06平方公里,人口126,675人(2009年6月30日)。普沃茨克在历史上曾是波兰
  • 隐形隐形能力,或称隐身能力,是指人能够将自己变成透明人的超能力,这是奇幻、科幻作品常见的题材之一。透明人的身体是看不见的,但透明人本身仍然可以看见其它的物体。有些透明人即使
  • 帝龙帝龙属(学名︰Dilong) 是一种小型、具有羽毛的暴龙超科恐龙,化石从中国辽宁省北票市的义县组陆家屯发现,年代为下白垩纪,约为1亿2500万年前。模式种是奇异帝龙(D. paradoxus),是由徐星
  • 马克·安东尼马克·安东尼(Marcus Antonius,约前83年1月14日出生于罗马,逝世于前30年8月1日)是一位古罗马政治家和军事家。他是凯撒最重要的军队指挥官和管理人员之一。凯撒被刺后,他与屋大维
  • 国宾影城国宾影城、国宾大戏院(英语:Ambassador Theatres)为台湾的连锁电影院。国宾影城旗下拥有影城数为国内非外资戏院第一,成立于2001年,结合国内最富盛名的国宾大戏院、六福开发、福
  • MathWorldMathWorld是线上数学百科全书,由沃夫朗研究公司(Wolfram Research inc.,WRI)赞助和享有版权,大部分由埃里克·韦斯坦因创建和编写。沃夫朗研究公司即是全球闻名的数学软件Mathema
  • 鬼驱人《鬼驱人》(英语:)是一部于2015年上映的美国3D超自然电影,为乔·坚朗(英语:Gil Kenan)执导,剧情改编自斯蒂芬·斯皮尔伯格编剧的1982年同名电影《鬼驱人》,演员包含山姆·洛克威尔、
  • 党同伐异《党同伐异》(英语:Intolerance: Love's Struggle Through the Ages,1920年中国上海上映时片名译为《专制毒》)是一部1916年由大卫·格里菲斯执导的美国默片,被视为默片时代最伟
  • 有岛武郎有岛武郎(1878年3月4日-1923年6月9日)是近代日本的小说家。于学习院毕业后,因有志于向农学发展而升读札幌农业学校(今 北海道大学)。信奉基督教,后来更接受洗礼。1903年到美国留学
  • 偏侧蛇虫草 Tul. (1865) (Tul.) Sacc. (1883)偏侧蛇虫草(学名:),或称偏侧蛇虫草菌,是一种拟寄真菌,俗称“丧尸真菌”,主要以莱氏弓背蚁()或其近亲物种为寄主。偏侧蛇虫草感染蚂蚁后,会控制蚂蚁