如何发信号“尚未实施”?

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

因此,我想表示一个“尚未实施”的例外

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

即:像这样的东西:

  • Java中的UnsupportedOperationException
  • .Net Framework(C#)中的NotImplementedException

你应该提出NotImplementedError

 raise NotImplementedError 

rubyDOC

你可以使用todonotes-gem

有一些例子的文档 。

它没有实现一个例外,而是一个logging机制和临时解决scheme的可能性。

看起来像原来的答案,这表明提出NotImplementedError ,被删除。 我会采取一些措施:写文档。

不要添加只是占位符的代码。 你不会希望人们编码的API,所以甚至不给他们一个机会(包括你自己)。 相反,请在课程和/或自述文件中logging您当前正在计划的路线图。 然后打开它改变。 在您解决路线图中的任何问题时,您可能会有一些新的想法,但是对于什么是合适的解决scheme,您可能会有新的想法。 我认为这是任何语言/框架的正确的行动方式,但是我认为Ruby特别鼓励我们不要编写你没有计划执行的代码。

不要提到文档中未实现的方法,或者提到它们还没有实现。 就这些。

无论如何,当调用一个不存在的方法时,Ruby会为你引发一个NoMethodError 。 这在大多数情况下应该足够好。