当我返回Option
类型的东西时,似乎很有必要在函数名称的名称中解释它是一个选项,而不是它本身。例如,seqs有reduceOption
。是否有标准的命名约定?事情我已经看到:Scala命名约定的选项
maybeFunctionName
functionNameOption
- 既不似乎是所有伟大。
当我返回Option
类型的东西时,似乎很有必要在函数名称的名称中解释它是一个选项,而不是它本身。例如,seqs有reduceOption
。是否有标准的命名约定?事情我已经看到:Scala命名约定的选项
maybeFunctionName
functionNameOption
- 既不似乎是所有伟大。
reduceOption
和朋友(headOption
等)仅命名的方式,从他们的不安全替代品区分开来(这可以说是不应该摆在首位,即存在,应该只是一个head
返回一个Option[A]
) 。
whateverOption
在标准库(或者我知道的大多数其他Scala库)中并不常用,一般情况下,您不需要或不想在Scala中使用这种匈牙利表示法。
为什么你想让你的函数名更长?它没有任何贡献,因为在查看函数的类型时,返回Option的事实很明显。
reduceOption是一种特殊情况,因为在大多数情况下,您真的想使用reduce,只是它不适用于空序列。
“,因为在查看函数的类型时,返回选项的事实显而易见。” ...除非类型实际上没有明确表示,因为Scala不一定鼓励明确指定类型。 – omnilinguist 2014-02-12 00:38:00
'functionNameOpt'呢?它更短,仍然是描述性的。 命名约定'也许...'可能更适合Haskell,其中选项类型被称为'Maybe'。 – 2012-08-09 15:58:56
只是放松,忘记它。不久之后,您会对会员姓名不会提示任何选项感到满意,因为在实践中,会员是否能够返回“无”是显而易见的。考虑到这个适应阶段 – 2012-08-09 16:41:23