在新 gem 的初始起草中,我需要将一些方法实现留空(将在下一个实现)
因此,我想发出“尚未实施”的异常信号
我想知道是否有特定于 Ruby 语言的最佳实践或标准约定来编码这种占位符/异常。
即:类似于:
- Java 中的UnsupportedOperationException
- .Net Framework (C#) 中的NotImplementedException
在新 gem 的初始起草中,我需要将一些方法实现留空(将在下一个实现)
因此,我想发出“尚未实施”的异常信号
我想知道是否有特定于 Ruby 语言的最佳实践或标准约定来编码这种占位符/异常。
即:类似于:
看起来像建议 raise 的原始答案NotImplementedError
已被删除。我会尝试一下:编写文档。
不要添加只是占位符的代码。您不希望人们针对该 API 进行编码,因此甚至不给他们机会(包括您自己)。相反,在课堂和/或自述文件中记录您当前计划的路线图。然后对它的改变持开放态度。很可能当您开始解决路线图中的任何问题时,您将对什么是适当的解决方案产生新的想法。我认为这在任何语言/框架中都是正确的做法,但我认为 Ruby 特别鼓励我们不要编写您不打算执行的代码。
不要在文档中提及未实现的方法,或者提及它们尚未实现。就这些。
NoMethodError
无论如何,当调用一个不存在的方法时,Ruby 会为你提出一个。对于大多数情况来说,这应该足够好了。