对于使用基于 Trunk 开发的开发人员,您是如何处理代码库中不断增长的功能标志集合的?
我担心的是,如果您在每个版本和每个新功能中都大量使用功能标志,那么功能标志代码的数量会不会开始降低代码的可读性并且可能更难以维护?为了这个问题,假设功能标志由外部 FFaaS 处理。
根据我自己的推理,我可以看到几个选项:
- 永远不要删除功能标志。保留它们以备不时之需(例如,用于取消您在以后逐步淘汰的功能)。
- 定期删除保留 X 时间的旧功能标志。这解决了代码可读性问题,但这打破了基于主干的部署范例,因为您失去了打开/关闭标志的后备措施,因为标志本身正在被删除。您也可能会在上述情况下丢失,您必须手动跟踪功能以逐步淘汰,或者可能重新引入功能标志以促进一些类似的过渡。
人们是如何使用这个开发系统处理物流的?