63

在新 gem 的初始起草中,我需要将一些方法实现留空(将在下一个实现)

因此,我想发出“尚未实施”的异常信号

我想知道是否有特定于 Ruby 语言的最佳实践标准约定来编码这种占位符/异常。

即:类似于:

4

5 回答 5

33

你应该提出 NotImplementedError

raise NotImplementedError

红宝石文档

于 2016-05-18T08:18:58.260 回答
4

您可以使用todonotes-gem

有一个包含一些示例的文档。

它没有实现异常,而是一种日志记录机制和临时解决方案的可能性。

于 2012-12-02T09:59:53.243 回答
2

看起来像建议 raise 的原始答案NotImplementedError已被删除。我会尝试一下:编写文档。

不要添加只是占位符的代码。您不希望人们针对该 API 进行编码,因此甚至不给他们机会(包括您自己)。相反,在课堂和/或自述文件中记录您当前计划的路线图。然后对它的改变持开放态度。很可能当您开始解决路线图中的任何问题时,您将对什么是适当的解决方案产生新的想法。我认为这在任何语言/框架中都是正确的做法,但我认为 Ruby 特别鼓励我们不要编写您不打算执行的代码。

于 2016-03-24T18:16:18.573 回答
-1

不要在文档中提及未实现的方法,或者提及它们尚未实现。就这些。

于 2012-12-02T09:44:28.847 回答
-19

NoMethodError无论如何,当调用一个不存在的方法时,Ruby 会为你提出一个。对于大多数情况来说,这应该足够好了。

于 2012-12-02T11:09:39.347 回答