所有
文件是否具有
文件夹结构的模块(类似于
java包)的ruby约定?
例如,如果我有一个文件结构看起来像
LIB /人/ utils的
这里的文件是否具有以下模块结构:
module People
module Utils
# some functionality for People::Utils
end
end
我问的原因是因为我正在阅读一些rails代码,似乎有这样的文件结构中的几个文件,但没有任何模块声明.
我猜想这将是你可以使用效用函数,而不必包括People :: Utils.
有没有关于什么模块应该被使用的什么时候ruby的公约?
将类和
文件放在一个这样的结构中是一个好主意,因为它可以使人们更轻松地将类的
名称映射到它的定义.
但是,不要这样做是有道理的(最终你结构化你的代码,但是你喜欢).当有很多小班都处理同样的事情的时候,我偶尔也会做,我把它们放在一起.
并且有一个没有定义模块或类的文件是有意义的,例如配置文件,二进制文件或引导文件(加载所有其他文件的文件).