首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该在Ruby中验证方法参数吗?

我应该在Ruby中验证方法参数吗?
EN

Stack Overflow用户
提问于 2012-12-30 00:42:28
回答 1查看 1.6K关注 0票数 3

我有Java背景,在Java中,当程序员用错误的参数调用方法时,会抛出异常。Ruby程序员如何处理错误的方法参数?

来自核心类的两个相反的例子:

代码语言:javascript
复制
irb(main):009:0> "" * (-2)
ArgumentError: negative argument
        from (irb):9:in `*'
        from (irb):9
        from C:/Ruby/Ruby193/bin/irb:12:in `<main>'


irb(main):013:0> (-2).times { puts 'hello' }
=> -2
EN

回答 1

Stack Overflow用户

发布于 2012-12-30 01:16:06

我通常倾向于避免在Ruby中进行论证验证。

然而,这真的取决于你的主要目的是什么。如果您关心可靠性,那么当参数导致无法恢复的错误时,采取防御措施并引发异常。

它还取决于您的用例:

  • 它们是公共API吗?您可能会强烈考虑验证。
  • 它们是私有API/方法吗?好吧,我一般都相信程序员。

一种有效的方法可能是在调试阶段使用参数检查,用于检测API的错误和误用,然后--一旦测试--删除检查。

底线是,这个棘手的问题没有完美的答案。它非常依赖于上下文和开发人员的个人判断。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14087294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档