首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于阶段的条件(dev,qual,prod)

基于阶段的条件(dev,qual,prod)
EN

Stack Overflow用户
提问于 2018-10-23 07:42:10
回答 1查看 802关注 0票数 0

在我的背景下,系统有一个阶段。系统可以是生产系统、质量保证系统或开发系统。

我知道,应该避免基于阶段的条件,而在测试中,应该使用模拟来改变事情。例如,在单元测试期间,第三方系统是不可用的,应该使用模拟来伪造第三方系统的存在。

但有时我也有这样的情况:

代码语言:javascript
复制
if settings.STAGE == constants.STAGE_DEV:
    ....

到目前为止,constants是从我们的遗留库。

我希望尽可能多地使用开源解决方案,并避免自己编写基本内容。

有比使用上述国产解决方案更好的方法吗?

Martijn Pieters说:

这是因为没有一刀切的配置解决方案。永远也不会有。

这让我很难过。我仍然希望将来会有一个“最低的共同标准”。

EN

回答 1

Stack Overflow用户

发布于 2018-10-26 08:30:07

我认为你应该考虑改变一下轨道。虽然环境的概念(顺便说一下,我通常称之为ENV )在部署脚本、start脚本、Dockerfiles等方面很常见,但是在应用程序代码中使用它们必然会带来麻烦。

更好的解决方案是让开始脚本了解环境,并配置(或切换)特定特性。

例如,

代码语言:javascript
复制
if settings.smtp_configured:
    send_email()

然后在开始脚本中切换功能。有时,在settings.py文件中执行这个逻辑可能很有用,但我不喜欢,因为每次环境发生变化时,我都必须修改它。这取决于您的应用程序是如何部署的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52943662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档