博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Feature toggle
阅读量:4969 次
发布时间:2019-06-12

本文共 812 字,大约阅读时间需要 2 分钟。

由于我们项目的特殊性,我们是同一份JAVA代码,不同的CSS,多个Brands和Channels使用。现在面临其中一个Brand(取名为A)要上线,其他的Brands(取名为Others)持续开发,对于要上线的A还是有少量的Bug在改。因为是同一套代码,所以就有一个保持要上线的A的稳定版本,并对其他的功能继续开发的问题,等上线成功后,还会将现在用于Others的部分功能应用于A这个Brand。怎么样很好的处理呢,最后所有的开发结束后,各个Brand和Channel都是使用的同一套代码。

暂时有两种方法可以采用:

1.branches

这个方法就是从一个trunk从release的地方分成两条,一条为继续开发的trunk,另一条是上线的A。但是这两条线随着时间是渐行渐远的,trunk总要merge到A上面去的,而且merge得越迟,耗费的时间和精力更多,还有可能在trunk上面对A的bug的修复,要在A上面再修复一次,这样就做了双倍的工作了。这样来看的话,是弊大于利的,这种方式比较适用于Linux系统这样的没有这么多Brands和Channel的项目。

2.Feature Toggle 

我们采用的正是这种方法,在暂时应用与Others的功能的方法上面加上anotation,这样在要打开这些toggle的时候就会比较容易。而且对于在不同的时间段打开哪些固定的功能,灵活性也更好,除了在代码上面使用anotation来体现,还将在story卡上面加上label来filter,在要移除toggle的时候就可以完全移除,而不会遗漏掉一些功能。

 

因为这个项目的上线规则的特殊性,所以要使用feature toggle这种方式。一般平时大家使用的产品的上线和更新都是使用的方法一。反正有需求才会有相应的解决嘛~

转载于:https://www.cnblogs.com/liqing172/p/3180952.html

你可能感兴趣的文章
Web - LNMP
查看>>
DevOps - 版本控制 - Git
查看>>
多应用单账户登录体系梳理
查看>>
Web开发者应知的URL编码知识
查看>>
Android 调用相册 拍照 实现系统控件缩放 切割图片
查看>>
图解教你如何使用ANT打包java程序
查看>>
java游戏开发指导
查看>>
SQL 事物
查看>>
双端队列
查看>>
【LOJ】 #2013. 「SCOI2016」幸运数字
查看>>
折腾mysql的小坑记录
查看>>
树莓派入门
查看>>
tyvj1004 滑雪
查看>>
URAL 1143 Electric Path(带方向的区间DP + 记忆化搜索)
查看>>
HDOJ 3033 I love sneakers!(分组背包变型)
查看>>
Oracle系列(一): Oracle数据恢复
查看>>
js刷新页面的几种方法
查看>>
图像处理---图像分割技术---基于图像灰度分布的阈值方法一
查看>>
关于IE 浏览器的position居中定位的问题和 行块元素的设置问题
查看>>
最长串那点事儿(lis,lcs,lcis)
查看>>