选项的Scala命名约定

时间:2012-08-09 15:51:04

标签: scala naming-conventions

当我返回Option类型的东西时,在函数名称中解释它是一个选项似乎很有用,而不是事物本身。例如,seqs有reduceOption。是否有标准的命名约定?我见过的事情:

maybeFunctionName

functionNameOption

- 似乎都不是那么好。

2 个答案:

答案 0 :(得分:15)

reduceOption和朋友(headOption等)只是这样命名,以区别于他们不安全的替代方案(可能首先不存在 - 即,应该只是head返回Option[A])。

whateverOption不是标准库(或我所知道的大多数其他Scala库)中的常规做法,一般来说,您不应该或不想使用这种匈牙利符号阶。

答案 1 :(得分:8)

为什么要让您的功能名称更长?它没有贡献任何东西,因为当查看函数的类型时,它返回一个Option的事实很明显。

reduceOption是一种特殊情况,因为在大多数情况下你真的想使用reduce,除了它对空序列不起作用。