当我返回Option
类型的东西时,在函数名称中解释它是一个选项似乎很有用,而不是事物本身。例如,seqs有reduceOption
。是否有标准的命名约定?我见过的事情:
maybeFunctionName
functionNameOption
- 似乎都不是那么好。
答案 0 :(得分:15)
reduceOption
和朋友(headOption
等)只是这样命名,以区别于他们不安全的替代方案(可能首先不存在 - 即,应该只是head
返回Option[A]
)。
whateverOption
不是标准库(或我所知道的大多数其他Scala库)中的常规做法,一般来说,您不应该或不想使用这种匈牙利符号阶。
答案 1 :(得分:8)
为什么要让您的功能名称更长?它没有贡献任何东西,因为当查看函数的类型时,它返回一个Option的事实很明显。
reduceOption是一种特殊情况,因为在大多数情况下你真的想使用reduce,除了它对空序列不起作用。