在Ruby中使用require的最佳实践是什么?

时间:2012-10-22 00:39:05

标签: ruby dependencies require

某些型号需要先装载其他型号。但是每个必需的文件只需要加载一次。

管理此问题的最佳方法是什么?将所有需求行放在一个文件中(如init.rb),或者需要每个模型文件顶部的文件?

2 个答案:

答案 0 :(得分:11)

让我们评估每个选项:

  1.   

    将所有需求行放在一个文件中(如init.rb)

    这意味着每个单独的文件都不会变得混乱,因为require都将在一个地方。但是,它们的编写顺序可能会发生,因此您最终会在此文件中手动执行依赖项解析。

  2.   

    要求每个模型文件顶部的文件

    每个文件都会有更多的内容,但您不必担心订购,因为每个文件明确需要它所需的依赖项。多次为同一文件调用require无效。

    这也意味着您只需要部分代码,这对图书馆很有用;例如require active_support/core_ext/date/calculations只获得外部应用程序所需的库部分。

  3. 在这两个中,我会选择第二个。它更清晰,需要更少的思考,并使您的代码更加模块化。

答案 1 :(得分:2)

对于每个文件,该文件中的require所有依赖的文件。与其他文件重复并不会有害,因为每个文件只需要一次。这就是require方法的目的。