當我返回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