前言:这与如何在文件中构建代码并不相关。我知道了。这更多是组织源树的主题。希望有人会说,“这是关于这个话题的一个很好的链接。”但是,也欢迎有关该主题的第一手意见。
所以我已经对这个主题进行了一些挖掘,并在简单的结构上找到了大量的材料。我猜这个假设是,当你需要处理代码库大小的问题时,你已经知道了答案。然而,即使是IDE似乎也在对如何构建这些项目进行一场神圣的战争(这不是我想在这个线程中开始的)。
Java在该语言中强制执行包结构。为此感到荣幸。然后,Eclipse允许您使用项目(可能)独立 - 我们将在此示例中将它们称为“桶” - 相关代码的桶。 Intellij在“项目”的单例实例中具有与“模块”不同但相似的概念。如果你想要另一个项目,你基本上是从头开始。
但是,RubyMine在ruby应用程序中没有提供这样的模块,默认情况下只想将所有内容都放入根目录。它允许目录,因此人们可以基本上只选择一些任意的树结构并运行它。这意味着我的意图是所有类都可以访问项目中的所有其他类。这可能通过使用Ruby'模块'得到一些解决方案,或者可能只是一个荣誉系统模式“不要引用那些东西。”
所以,简单地说,我说我正在构建一个'foo'和'bar'概念,并且都依赖于'util'类。也许我会将它们部署为宝石,也许我不会。我可以:
两者似乎都没有特别吸引人。 Thougts?
答案 0 :(得分:0)
我将独立开发这三个,然后使util成为一个宝石。在每个foo和bar的Gemfile中,你可以给gem一个path,这样你就可以同时开发它们而不会弄乱版本号等等(为了生产,你会指出它)到Rubygems或某些git存储库上的真正的gem。)
对于项目结构,请查看Ruby Packaging Standard和Gem Patterns。