为什么rubygem的“lib”目录不被称为“src”?

时间:2011-02-25 01:04:21

标签: rubygems project gem hierarchy

我从未对基本的宝石树结构有任何问题,即

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

...因为我总是将宝石作为图书馆开发。但是,我最近开始开发一个作为宝石出货的应用程序。

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

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

我一直在阅读很多定义,库应该支持应用程序,而不是 应用程序本身。我们没有说“这是我的应用程序的库”,但“这是我的应用程序的源代码”。

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

我希望我明确指出,我确信这背后有一个很好的理由,我很想听听你的想法并清除它。

感谢您阅读此内容:)

1 个答案:

答案 0 :(得分:0)

经过进一步调查后,结果发现'lib /'被称为'lib /',因为它只包含定义。

'bin'是一个执行的脚本,就像'main'函数一样。由于它被执行,因此不应该有应用程序逻辑,否则它不容易测试。

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