【问题标题】:What are best practices for using require in Ruby?在 Ruby 中使用 require 的最佳实践是什么?
【发布时间】:2012-10-11 19:18:04
【问题描述】:

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

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

【问题讨论】:

标签: ruby dependencies require


【解决方案1】:

让我们评估每个选项:

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

    这意味着每个单独的文件将不那么混乱,因为requires 将全部放在一个位置。但是,它们的写入顺序可能很重要,因此您最终会在此文件中有效地手动进行依赖关系解析。

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

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

    这也意味着您可以只需要部分代码,这对库很有用;例如require active_support/core_ext/date/calculations 仅获取外部应用所需的库部分。

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

【讨论】:

    【解决方案2】:

    对于每个文件,require 在该文件中包含它所依赖的所有文件。与其他文件重复并没有什么害处,因为每个文件只需要一次。这就是require 方法的目的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-18
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多