Feature Toggle 初识

本来想用英文来写这篇文章,可想想还是算了,自己的英文可能说不清楚。。。

description

前几天的有一个关于feature toggle的session,因为自己英文的原因听的糊里糊涂的,自己找了些资料学了下。

Queation

  1. 什么是feature toggle?
    feature toggle 是一种强大的技术,它可以允许团队不用修改代码而来改变系统的功能行为。
  2. 为什么使用feature toggle?
    在团队中,我们完成了一个功能,但PO说暂时不需要这个功能。怎么办?删除或注释代码?No!又或者是这样的一个场景,你每两个周发布一次生产版本,但是同时又需要去维护一个很多个月才能进行发布的特性分支。那么如何去保障团队成员们在开发主线(mainline)上的工作不受到未完全实现的特性分支的影响呢?feature toggle 可以解决这个问题。
  3. 如何实现feature toggle?
    基础思路:存在一个配置文件,配置文件里定义了许多的toggle,这些toggle都是待发布的特性功能。这一些toggle定义了哪一些features需要呈现,哪些并不需要。
    例如:在一个网站中,前端使用jsp,它的代码是这样的:
<toggle name="petSurvey">
    <p>you are so beautiful!</p>
</toggle>

当你将配置toggle的开关打开之时,features的功能将会随之打开,否则将会我们的app会继续忽略features功能代码。


feature toggle.jpg
  1. 如果不用toggle,我们该如何实现这样的功能?
    假如我们的代码之前是这样的:
function newFeature(){ //implementation lives }

现在我们的要用一种新的办法来实现,我们该怎么做?或许我们可以使用一个用于判断的标志变量:

 function newFeature(){
    var useNewFeature = false;
    // useNewFeature = true; //uncomment if you want to use new ways...
  
    if( useNewFeature ){
    //TODO: new ways to implementation
    }else{
     //TODO: old ways to implementation
    }
  }
  1. toggle在前端中如何使用,在后端中如何使用?
  2. toggle 如何测试?
  3. toggle 如何发布?
  4. toggle 有何风险?
    (文章太浅,时间有限,还有很多问题没有涉及到,还需继续学习,文章未完待续。。。)

action

在项目中使用,继续探究学习。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,581评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,973评论 6 342
  • 导读:体育应该是爱惜身体和健康的运动,体育竞技的胜负不是用金钱和药物制造出来的虚假荣誉,体育精神不是公平竞争下输不...
    蒋祖权阅读 675评论 0 2
  • 阅读经典——《人月神话》01 本文将解答一个至关重要的问题:为什么世界上那么多人愿意做一名程序员? 少有人认真思考...
    金戈大王阅读 1,668评论 2 9