【发布时间】:2013-04-08 22:38:12
【问题描述】:
Semantic Versioning Specification 中的第一点声明兼容软件必须声明公共 API。
我想知道 gems 是如何建立这个公共 API 的。似乎它通常是通过自述文件完成的(例如,参见 ActiveRecord),这并不像是在公共 API 代码和其他代码之间划定了严格的界限。一个更好的 gem 示例是 Twitter API,将其公共 API 代码放在 API directory 中,但即使在那里,这条线也是灰色的,因为公共 API 的配置方法在 API 之外的 twitter.rb 中定义目录。
作为尝试坚持语义版本控制的 gem 的潜在贡献者(这是其中的大多数,因为我们有 bundler 之类的工具),我想知道哪些方法是公共 API 的一部分,哪些是不。也许我必须查看更多源代码,但是否有明确定义公共 API 的指南?
【问题讨论】:
标签: ruby gem semantic-versioning