Configuration 合理的配置默认值

Configuration 合理的配置默认值,configuration,frameworks,convention-over-configur,Configuration,Frameworks,Convention Over Configur,我最近开始使用RubyonRails,它支持约定而不是配置,并依赖合理的默认值将应用程序的各个方面联系在一起 我在想,如果在各种框架的一般配置中使用这种合理的默认配置概念,可能会很有用,那么它可能会节省一些开发方面的麻烦 例如,在.net应用程序中,我通常希望使用企业库异常处理块在windows事件日志中记录异常,但如果我没有在配置文件中明确说明我想要的行为,则EL会抱怨。相反,我认为,如果它找不到自定义配置,那么它应该恢复到合理的默认配置,比如在事件日志中记录我的异常 对于框架来说,这是一个好

我最近开始使用RubyonRails,它支持约定而不是配置,并依赖合理的默认值将应用程序的各个方面联系在一起

我在想,如果在各种框架的一般配置中使用这种合理的默认配置概念,可能会很有用,那么它可能会节省一些开发方面的麻烦

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


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

我经常使用这样一个框架。这种工作方式的问题在于:

  • 该框架的配置键数量过多,实际上从未在配置文件中使用/设置过
  • 软件的行为有时是隐式的,我希望显式地将系统设置为以某种方式运行,而不是由于“默认”而使其返回到其他代码路径
  • 配置密钥中的错误输入可能会导致在弄清楚发生了什么之前进行很长的诊断会话
当忘记设置配置值时,我宁愿让软件告诉我,而不是假设我可能根本不想要的某种形式的行为

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


找出软件在调试时选择的约定也会浪费大量时间。

我经常使用一个框架来完成这项工作。这种工作方式的问题在于:

  • 该框架的配置键数量过多,实际上从未在配置文件中使用/设置过
  • 软件的行为有时是隐式的,我希望显式地将系统设置为以某种方式运行,而不是由于“默认”而使其返回到其他代码路径
  • 配置密钥中的错误输入可能会导致在弄清楚发生了什么之前进行很长的诊断会话
当忘记设置配置值时,我宁愿让软件告诉我,而不是假设我可能根本不想要的某种形式的行为

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

找出软件在调试时选择的约定也会浪费大量时间