我选择了配置文件过程的解决方案,需要证明它的合理性。我很欣赏见解和批评。谢谢!
问题: 我们的Web应用程序有一个包含变量和条件的application.cfm文件
<cfif url = "*dev*" or "jargon123">
this is a dev enviroment, do devy things
</cfif>
因此,应用程序的开发人员将部署本地实例。把它点起来然后开始四处寻找。问题是配置文件包含生产值。它开始点击生产数据并发送生产电子邮件。此外,由于他们正在点击的网址是http://App_name:PORT或http://localhost,因此永远不会设置开销条件。所以在开发中会发生更多的制作工作。
其他同事想要的是什么:
我选择的解决方案:
我不会讨论为什么我不做其他解决方案,但这是我解决问题的原因:
我发现很多关于使用特定于环境的配置文件的文章,但不是为什么它们更好。这就是这篇文章背后的动机。
答案 0 :(得分:1)
我还会删除生产配置并仅提供配置文件的开发版本。原因:
答案 1 :(得分:1)
您(开发)需要能够随时在不同版本的软件之间切换。如果每个设置都有自己的配置文件,那么这比它们共享同一个文件要容易得多。
如果您将所有配置都放在一个文件中,则必须阅读整个大文件,确定要忽略的部分。这比阅读整个文件更麻烦。
(我假设您可以在同一台计算机上的不同位置同时安装多个版本的软件。如果不能,则会遇到更大的问题。但即便如此,使用单独的配置文件也是有益的。)< / p>
对于单独的配置文件来说,它们是强大的“优点” - 它们超过了次要的“con”:您必须通过某种机制或其他机制来识别配置文件的位置。它可能是通过环境变量或通过命令行选项,如果两者都未指定,则具有合适的默认值。命令行应该覆盖环境。