2025 年了,硬编码 Feature Flags 没问题

It's OK to hardcode feature flags (2025)

2025 年了,硬编码 Feature Flags 没问题

Feature flags 常被过度营销,让人误以为必须依赖复杂的 Feature flag management software 才能管理功能开关。事实上,这些系统往往引入了不必要的复杂性、非确定性行为和安全风险,甚至让代码库因长期存在的 flags 而积累技术债务。相比之下,硬编码的 Feature flags 简单、可靠且安全,只需一个简单的 JSON 文件即可在应用启动时读取并控制功能可见性。对于大多数团队而言,通过正常的开发流程进行审查、测试和部署,完全足够应对需求。只有当团队真正需要大规模运行时动态切换功能时,才应考虑更复杂的方案。过早优化只会带来短暂的自我满足,而非实际价值。

硬编码的 Feature flags 摒弃了诸多问题:它们简单、可靠且安全,虽然是最无聊的做法,却也是最好的方式。
  1. jameshart

    像许多“云原生理念”一样,Feature Flags 的核心 20% 对 80% 的团队都有用,而剩下的 80% 边缘关注点对 20% 的团队才有意义(而且我这里的数字已经算很宽泛了)。

    具体来说,在高风险功能上设置开关是一个好主意,具有广泛的实用性。而能够无需重启就动态切换 Feature Flags,或将某些功能应用于部分用户群体,这不太可能有用,却引入了大量的复杂性和潜在的陷阱。

    我对 Feature Flags 的方法甚至比这里建议的更简单:Feature Flags 只是你配置文件中的一个部分。搞定。即使你确信需要更高级的功能,你也应该在有确凿证据证明你的团队能够管理简单的配置值之前,不要“升级”到那个级别。

同日更多故事

2026-09-02