关于ruby:如何发出“尚未实施”的信号?

How to signal “not implemented yet”?

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

因此,我想表示一个"尚未实现"的异常

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

例如:

  • Java中的未支持操作异常
  • 不在.NET框架中实现异常(C)


您应该引发NotImplementederRor

1
raise NotImplementedError

红宝石博士


你可以用今天的宝石

有一个文档和一些示例。

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


看起来原来的答案,建议提高NotImplementedError被删除了。我将尝试一下:写文档。

不要添加仅仅是占位符的代码。您不想让人们使用该API进行编码,因此甚至不给他们机会(包括您自己)。相反,在课程和/或自述中记录您当前计划使用的路线图。那就改变一下吧。当你着手解决路线图中的任何问题时,你很可能会对什么是合适的解决方案有新的想法。我认为这在任何语言/框架中都是正确的做法,但我认为Ruby特别鼓励我们不要编写您不打算执行的代码。


不要在文档中提及未实现的方法,也不要提及它们尚未实现。仅此而已。


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