如何发信号“尚未实施”?
在最初起草一个新的gem,我需要留下一些方法实现为空(将在下一个实施)
因此,我想表示一个“尚未实施”的例外
我想知道是否有一种特定于Ruby语言的最佳实践或标准约定来编写这种占位符/例外。
即:像这样的东西:
- Java中的UnsupportedOperationException
- .Net Framework(C#)中的NotImplementedException
你应该提出NotImplementedError
raise NotImplementedError
rubyDOC
你可以使用todonotes-gem
有一些例子的文档 。
它没有实现一个例外,而是一个logging机制和临时解决scheme的可能性。
看起来像原来的答案,这表明提出NotImplementedError
,被删除。 我会采取一些措施:写文档。
不要添加只是占位符的代码。 你不会希望人们编码的API,所以甚至不给他们一个机会(包括你自己)。 相反,请在课程和/或自述文件中logging您当前正在计划的路线图。 然后打开它改变。 在您解决路线图中的任何问题时,您可能会有一些新的想法,但是对于什么是合适的解决scheme,您可能会有新的想法。 我认为这是任何语言/框架的正确的行动方式,但是我认为Ruby特别鼓励我们不要编写你没有计划执行的代码。
不要提到文档中未实现的方法,或者提到它们还没有实现。 就这些。
无论如何,当调用一个不存在的方法时,Ruby会为你引发一个NoMethodError
。 这在大多数情况下应该足够好。