1

我最近开始使用 Ruby on Rails,它更倾向于约定而不是配置,并依赖合理的默认值将应用程序的各个方面联系在一起。

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

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

对于框架在其配置中采用的概念是好是坏?

4

1 回答 1

1

我经常使用一个框架来做这件事。我对这种工作方式的麻烦在于:

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

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

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

弄清楚软件在调试时选择了哪个约定也可能会浪费很多时间。

于 2009-06-06T21:35:07.513 回答