特性开关与软件开发工作流
1. 特性开关相关知识
特性开关(Feature Flags)在软件开发中十分重要,它能让系统在运行时改变行为。特性开关的配置存储位置有多种选择:
- 系统配置
- 用户配置
- 应用数据库
- 单独的数据库
- 通过 API 访问的单独系统
具体选择取决于实际用例。
不过,使用特性开关也会带来技术债务问题。如果使用特性开关,最终可能会得到一个高度可配置的系统,大量分散在多个配置源的开关相互依赖,启用或禁用开关会给系统稳定性带来很大风险,甚至陷入特性开关地狱,数百个开关无人知晓用途。
为避免这些问题,应遵循以下最佳实践:
1. 指标监控 :特性开关是一种技术债务,需像测量代码覆盖率等指标一样对其进行测量。测量特性开关的数量、存在时长、在各环境中的评估情况以及使用频率。
2. 集中管理 :在一个中心位置管理开关,每个开关应有所有者和描述,并记录开关之间的依赖关系。
3. 融入流程 :将特性开关的管理融入开发流程,如在审查会议中审查开关,确保定期使用开关的人员检查哪些开关可从系统中移除。
4. 命名规范 :为所有类型的开关使用命名规范,例如用 tmp- 作为临时开关的前缀, perm- 作为永久开关的前缀。开关名称应能表明其类型和在代码库中预计保留的时长。
还有一种清理分支的技术,部分团队喜欢,部分团队不喜欢。其思路是,创
超级会员免费看
订阅专栏 解锁全文
22万+

被折叠的 条评论
为什么被折叠?



