所有的ruby文件是否都具有与文件夹结构匹配的模块结构?

前端之家收集整理的这篇文章主要介绍了所有的ruby文件是否都具有与文件夹结构匹配的模块结构?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所有文件是否具有文件夹结构的模块(类似于 java包)的ruby约定?

例如,如果我有一个文件结构看起来像

LIB /人/ utils的

这里的文件是否具有以下模块结构:

module People
  module Utils
    # some functionality for People::Utils
  end
end

我问的原因是因为我正在阅读一些rails代码,似乎有这样的文件结构中的几个文件,但没有任何模块声明.

我猜想这将是你可以使用效用函数,而不必包括People :: Utils.

有没有关于什么模块应该被使用的什么时候ruby的公约?

解决方法

将类和文件放在一个这样的结构中是一个好主意,因为它可以使人们更轻松地将类的名称映射到它的定义.

但是,不要这样做是有道理的(最终你结构化你的代码,但是你喜欢).当有很多小班都处理同样的事情的时候,我偶尔也会做,我把它们放在一起.

并且有一个没有定义模块或类的文件是有意义的,例如配置文件,二进制文件或引导文件(加载所有其他文件文件).

猜你在找的Ruby相关文章