配置的合理默认值

时间:2009-04-24 14:06:03

标签: configuration frameworks convention-over-configur

我最近开始使用Ruby on Rails,它支持约定优于配置,并依赖合理的默认设置将应用程序的各个方面联系在一起。

我认为如果将这种合理的默认配置概念用于各种框架的一般配置可能会有用,那么它可能会节省一些开发问题。

例如,在.net应用程序中,我通常希望使用企业库异常处理块在Windows事件日志中记录异常,但如果我没有明确说明我在配置文件中所需的行为,那么EL会抱怨。我认为相反,如果它找不到自定义配置,那么它应该恢复为合理的默认配置,比如在事件日志中记录我的异常。

对于采用配置的框架来说,这是一个好的还是坏的概念?

1 个答案:

答案 0 :(得分:1)

我用一个完成这个问题的框架工作了很多。这种工作方式的麻烦在于:

  • 框架增长到拥有过多的配置密钥,这些配置密钥实际上从未在配置文件中使用/设置。
  • 软件的行为有时会隐含,我想明确地将系统设置为以某种方式运行,而不是由于“默认”而使其回退到其他代码路径上。
  • 配置密钥中错过的拼写错误可能导致非常长的诊断会话,然后才能确定发生了什么。

当忘记设置配置值时,我宁愿让软件告诉我,而不是假设某种形式的行为,而我可能根本不会这样做。

我更喜欢“模板”配置文件,我在其中更改了我想要的内容并将未更改的设置作为默认设置。

确定软件在调试时选择哪种惯例可能会耗费大量时间。