Bob*_*ght 9 comments coding-style r s4
我是R的新手,并且很难将来自各种来源的信息拼凑起来,这些信息与编写R代码的"好"做法有关.我已经阅读了基本指南,但我一直很难找到最新的信息.
是否使用S3,S4或一个包主要是一个样式问题(如Dirk所说),但我建议使用其中一个如果你想拥有一个非常结构化的对象(就像你在任何OOP语言中一样) ).例如,所有时间序列类都有时间序列对象(我相信它们都是S3,除了它),因为它允许它们围绕这些对象的构造和使用强制执行某些行为.与创建包的问题类似:如果您经常重复使用代码或者代码对其他人有用,那么最好这样做.它需要更多的努力,但增加的组织结构可以轻松弥补成本.
关于S3与S4(在R-Help 这里和这里讨论),基本准则是S3类更"快速和肮脏",而S4类对对象和类型进行更严格的控制.如果你正在使用Bioconductor,你通常会使用S4(例如,参见"S4类和方法").
我建议阅读以下部分内容:
有关文档,Hadley的建议是:Roxygen将使生活更轻松,并将文档放在代码旁边.除此之外,您可能仍希望在代码中提供除 Roxygen或man文件所需的其他注释,在这种情况下,为其他开发人员注释代码是一种很好的做法.这些评论不会以你的方式结束; 它们只能在源代码中看到.
这是六个或更多问题捆绑在一起,这使得很难回答.
所以让我们从内到外尝试:首先尝试解决您的RODBC包装问题.代码表示将表明自己.我将从简单的函数开始,然后可能围绕它构建一个包.这已经给你一些封装.
其余大部分都是风格.一些着名的R代码发誓S4,而另一些则发誓.您可以随时阅读其他人的包以及R本身的代码.您可以始终以不同的方式重新实现您的RODBC包装,并比较您自己的方法.
编辑:反映您更新和缩短的问题:从CRAN中选择一些软件包,特别是您使用的软件包.我想你会很快根据自己的风格找到一些或多或少有趣的东西.
| 归档时间: |
|
| 查看次数: |
2070 次 |
| 最近记录: |