Ruby:最佳做法是什么,我应该包含 class 还是模块?
Ruby: What is the best practice, should I include class or module?
我已经编写了一些 类 和模块,我可以使用 require/require_relative
.
将它们包含在我的 ruby 脚本中
我们的脚本应该包括什么; 类 还是模块?一个人比另一个人有一些好处吗?
原谅我对这个话题的无知。可能这个问题很愚蠢。我只是想朝着正确的方向推进我的工作。提前感谢您的 comments/suggestions.
我建议使用 require_relative
来使用 load_path
中可能不可用的任何脚本。因此,将它用于特定于您当前工作目录的所有脚本。另一方面,require
倾向于查看 load_path
,如果您为文件指定了冲突名称,它可能会加载同名的可用 gem
。因此,我建议始终对项目中的特定 files/directories 使用 require_relative
。
编辑:
Modules or Classes
:我认为 Modules
比 类 好,因为 Classes
实际上是 Modules
。而且 Modules
最常见于此类要求。
模块和 classes 有很多共同点。您可能知道的模块无法实例化,但 classes 可以。那么模块的最佳用途是什么?什么时候使用它们?好吧,最简单的答案是,如果您有多个 class 共享通用方法。最好的做法和最明智的做法是编写一个模块,在 class 之间包含这些常用方法,并在这些 class 中要使用这些 "common methods" 的地方包含模块。否则,如果您只有一个 class,那么为 class 创建一个模块就没有多大意义。您也可以在 class 本身中创建这些方法,而完全忘记模块。当然,除非您有类似的方法,您希望将它们分组到模块中只是为了组织和保持代码最少以及以后重构(当需要时)。
classes 相同。如果您在脚本中组织了很多不同的 classes,则可以要求 classes。如果你有很多 classes.
,这又更有意义
我希望这能回答你的问题。
我已经编写了一些 类 和模块,我可以使用 require/require_relative
.
我们的脚本应该包括什么; 类 还是模块?一个人比另一个人有一些好处吗?
原谅我对这个话题的无知。可能这个问题很愚蠢。我只是想朝着正确的方向推进我的工作。提前感谢您的 comments/suggestions.
我建议使用 require_relative
来使用 load_path
中可能不可用的任何脚本。因此,将它用于特定于您当前工作目录的所有脚本。另一方面,require
倾向于查看 load_path
,如果您为文件指定了冲突名称,它可能会加载同名的可用 gem
。因此,我建议始终对项目中的特定 files/directories 使用 require_relative
。
编辑:
Modules or Classes
:我认为 Modules
比 类 好,因为 Classes
实际上是 Modules
。而且 Modules
最常见于此类要求。
模块和 classes 有很多共同点。您可能知道的模块无法实例化,但 classes 可以。那么模块的最佳用途是什么?什么时候使用它们?好吧,最简单的答案是,如果您有多个 class 共享通用方法。最好的做法和最明智的做法是编写一个模块,在 class 之间包含这些常用方法,并在这些 class 中要使用这些 "common methods" 的地方包含模块。否则,如果您只有一个 class,那么为 class 创建一个模块就没有多大意义。您也可以在 class 本身中创建这些方法,而完全忘记模块。当然,除非您有类似的方法,您希望将它们分组到模块中只是为了组织和保持代码最少以及以后重构(当需要时)。
classes 相同。如果您在脚本中组织了很多不同的 classes,则可以要求 classes。如果你有很多 classes.
,这又更有意义我希望这能回答你的问题。