美文网首页
Feature Toggle 初识

Feature Toggle 初识

作者: 星期六1111 | 来源:发表于2017-09-03 20:08 被阅读394次

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

    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

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

    相关文章

      网友评论

          本文标题:Feature Toggle 初识

          本文链接:https://www.haomeiwen.com/subject/alodjxtx.html