【发布时间】:2023-10-17 00:26:01
【问题描述】:
在我的上下文中,系统有一个阶段。系统可以是生产系统、质量保证系统或开发系统。
我知道应该避免基于阶段的条件,并且在测试中应该使用模拟来改变事情。例如,在单元测试期间第三方系统不可用,应该使用模拟来伪造第三方系统的存在。
但有时我有这样的条件:
if settings.STAGE == constants.STAGE_DEV:
....
到目前为止,constants 来自我们的旧库。
我希望尽可能多地使用开源解决方案,并避免自己编写基本的东西。
有没有比使用上述自制解决方案更好的方法?
Martijn Pieters 说:
那是因为也没有万能的配置解决方案。而且永远不会有。
这让我感到难过。我还是抱有希望,未来会有一个“最小公分母”。
【问题讨论】:
-
我不确定我是否正确理解了您的问题,因此不确定这是否有帮助。但是,如果您只想拥有一个包含有关您所在环境的提示的地方(DEV/TST/PRD/...) - 我经常看到客户端提供了一个可用的环境变量来存储此信息。
-
@ingofreyer 是否有环境变量的标准命名约定?
-
目前没有找到 - 抱歉
-
部署模式为just configuration,一组标准配置设置。没有万能的解决方案,它实际上只是您现有配置解决方案可以处理的一个大开关。
-
@MartijnPieters 关于“一刀切解决方案”。是的,你是对的。这还不存在。到目前为止,还没有众所周知的默认方式。
标签: python development-environment production-environment