【发布时间】:2015-11-25 22:44:04
【问题描述】:
我编写了与 API 的绑定并将所有内容放入 R 包中,包括测试、插图等,但 API 不断变化。这带来了一些问题
- 更新我的包很容易出错,也许我错过了一个新功能或忘记将旧功能标记为已弃用
- 将包提交给 CRAN 不是一个好主意,因为它经常更改并且包是人工审核的
- 我很难让这个软件保持更新,因为 API 机会不定期,因此我可能会错过它们
我想出了自动生成绑定的想法。 API 本身通过在线 JSON 文档提供了所需的一切。这些文档不断反映 API 的当前定义。
编写一些将 JSON 文档转换为 R 函数的代码不是问题。但如果我这样做,我仍然需要更新 CRAN 上的包。最好的解决方案是创建一个包(在加载时)查找 API 定义并创建所需的函数。理想情况下,这些函数应该进行单元测试。
感谢您对此的任何提示。
最好的
编辑:API 是 firebrowse API 和 an example 的输入。
【问题讨论】:
-
如果不知道您正在谈论的 API,可能很难给出有用的答案。
-
我发现了一些有用的提示:stackoverflow.com/questions/16985417/…
-
我从 Swagger 规范生成一个 R 包的包的粗略开始。拥有一个充满活力的一代并不难(一旦完成)。我暂时没有时间投入到 pkg 上。