关于弃用
在正常的软件开发过程中,可以删除函数,方法或其他对象。以下是一些准则,可以确保此过程对您的用户最严重破坏。
什么弃用
任何不再使用的功能,方法或数据。
何时遵循这些指南
如果您将功能介绍进入包装的Devel分支,那么在决定不使用它之后即将,您可以在不遵循这些指南的情况下删除该功能。预计Devel分支是不稳定的,并且在恕不另行通知的API更改(尽管您可能决定通过该用户的内容传达这些更改正常词 )。
但是,如果在至少一个释放的Biocumond版本中存在函数,则必须遵循这些指南。
如何弃用
删除函数的完整过程需要三个释放循环(18个月)。
第1步:弃用函数
当您首次决定消除函数时,您应该将其标记为devel分支中的弃用。通过致电来做这件事.depecated()
在功能内。为此,您必须提供应使用替换功能来代替旧功能。例子:
myoldfunc < - function(){.deprecated(“mynewfunc”)##使用新功能,或剩余的myoldfunc}
这导致每当用户呼叫时要发出警告myoldfunc()
。看?.deprecated.
想要查询更多的信息。
在旧功能的手册页中指出它已被推翻,并建议替换功能。确保在Man Page示例或Vignette代码块中未调用旧功能;R CMD检查应报告此问题。
\ name {mypkg despecated} \ alias {mypkg-drecedated} \ title {package \ squote {mypkg}} \ description {scents {mypkg}}描述{这些函数仅用于兼容旧版本的\ squote {mypkg},并且将是在下一个释放中消失。} \详细信息{以下函数已不推荐使用,并将取消缺陷;使用下面指示的替换:\逐项化{\ Item {myoldfunc:\代码{\ link {newfunc}}}}}}}
第2步:将功能标记为已缺陷
在下一个发布周期中,在弃用功能后,必须在Devel分支中取消。这意味着对旧功能的调用将返回信息性错误,但不会运行任何其他代码。例子:
myoldfunc < - function(){.defunct(“mynewfunc”)}
看?缺失
想要查询更多的信息。
删除已解析功能的文档,并添加到一个人页面,如下:
\ name {mypkg-depunt} \ alias {myoldfunc} \ title {packpact \ squite {pkg}} \ description {这些函数是已经存在的,不再可用。} \ decord {devunct函数是:\ code {myoldfunc}}
第3步:删除该功能
在下一个释放周期中,您的函数被标记为已取消后,完全从您的包R代码和Devel分支中的命名空间中删除。还删除记录功能的任何人页面内容。
将手册页从上一步留出来
帮助(“mypkg-defunt”)
仍然显示已解除功能的列表及其适当的替代品。