【问题标题】:Why is rubygem's "lib" directory not called "src"?为什么rubygem的“lib”目录不叫“src”?
【发布时间】:2011-02-25 01:04:21
【问题描述】:

基本的 gem 树结构我从来没有遇到过任何问题,即

  • bin(可执行文件)
  • lib(源代码)
  • 测试

...因为我一直将 gems 开发为库。不过,我最近开始开发一个作为 gem 发布的应用程序。

此应用程序有一个“runner.rb”文件 (lib/mygem/runner.rb),它提供了一种运行应用程序的方法。该应用程序从 bin/mygem 文件运行。

现在这让我很困扰。 “runner.rb”是一个特定于我们应用程序的文件,它不是服务或 API 或任何类型的支持类供其他人重用(这应该是库的用途,对吧?),但它的目录是"lib/mygem/runner.rb)。

我已经阅读了很多定义,并且库应该支持应用程序,而不是成为应用程序本身。我们不是说“这是我的应用程序的库”,而是“这是我的应用程序的源代码”。

所以我的问题是,为什么我们将库和源代码放在同一个文件夹中?

我希望我的观点很清楚,我确信这背后有充分的理由,我很想听听你的想法并澄清这一点。

感谢您阅读本文:)

【问题讨论】:

标签: rubygems project gem hierarchy


【解决方案1】:

经过进一步调查,结果发现“lib/”之所以称为“lib/”,是因为它只包含定义。

'bin' 是一个被执行的脚本,就像一个'main' 函数。既然是被执行了,就不应该有应用逻辑在里面,否则不容易测试。

因此,所有应用程序逻辑都属于您应用程序的库文件夹。 bin(主)文件的唯一任务是实例化应用程序的运行器类并运行它。

【讨论】:

    猜你喜欢
    • 2014-09-30
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    相关资源
    最近更新 更多