你如何编写你的包文档?

25

我还没有完全想好构建软件包并编写文档的合理工作流程。

我希望尽可能多的过程(和文档)能够自动生成。

显而易见的方法似乎是使用package.skeleton创建基本软件包文件,然后通过编程覆盖DESCRIPTION文件和Rd文件。但问题在于这样做会导致自动生成的字段丢失,这些字段可以确保您已经记住了所有正确的参数文档。

我想知道你如何构建软件包和编写文档。是否有可用的工具使该过程更加容易? (Roxygen看起来就像是为这种情况而设计的; 是否有一个好的教程呢? 还有其他替代方案吗?)

2个回答

19

我在所有的项目中都使用roxygen。比如,你可以浏览webvis包的源代码来了解更多。Hadley也使用roxygen来编写他的文档(例如,查看他的lubridate包)。

据我所知,除了vigette(可以查看roxygen主页),很少有关于roxygen的详细文档。

Roxygen很好用,因为它可以实现文字化编程,就是让文档和代码并排显示。这使得文档编写过程更加简单,因为你可以同时处理所有内容。我强烈推荐它,并且目前开发的任何包都不会放弃它。

但是,与某些文档生成工具(例如javadoc)不同,roxygen没有自动化文档生成的功能:它只是解释了格式正确的R注释,但并不对R代码进行解释。

关于包的创建:对于初学者,package-skeleton是一个很好的起点。学习了一些后,你可能会发现手动创建所有目录、NAMESPACE等更容易上手。特别是如果你要遵循其他一些惯例,例如包含演示目录、使用roxygen、编写vignette或包含其他语言的源代码等。

最后,我在Eclipse(StatET)中管理我的包。许多IDE都有“项目”视图,可以帮助管理包的结构,因此你可能还需要使用更高级的编辑器。


感谢您提供的 Google Code 指针。 - Dirk Eddelbuettel
是的,浏览其他人的代码并进行调试是了解它如何工作的最简单方法。 - Shane
总的来说,roxygen 代码相当易于理解并且有相当好的文档记录,因此我在修改它以满足我的需求时没有遇到太多麻烦。 - hadley
谢谢,这非常全面。我会查阅一些roxygen的代码示例。 - Richie Cotton
显然现在我们正在使用roxygen2。http://cran.r-project.org/web/packages/roxygen2/index.html - geneorama

1
关于roxygen资源,现在已经出现了几个新的资源,引用我的笔记

通常当我谷歌Roxygen或Roxygen2时,我很难找到文档。这里是一些关键资源的汇编:


2
这些链接现在都在roxygen2标签页面上 https://stackoverflow.com/tags/roxygen2/info - Richie Cotton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接