10

タイプの何かを返すときOption、それがオプションであり、物自体ではないことを関数名の名前で説明することは有用であるように思われます。たとえば、seqsにはreduceOption。標準の命名規則はありますか?私が見たもの:

maybeFunctionName

functionNameOption

-どちらもそれほど素晴らしいとは思えません。

4

2 に答える 2

16

reduceOptionと友達(headOptionなど)は、安全でない選択肢と区別するためにそのように名前が付けられているだけです(つまり、そもそも存在すべきではありません。つまり、headを返すだけである必要がありますOption[A])。

whateverOption標準ライブラリ(または私が知っている他のほとんどのScalaライブラリ)では通常の方法ではありません。一般に、Scalaでこの種のハンガリアン記法を使用する必要はありません。

于 2012-08-09T16:00:18.107 に答える
8

関数名を長くしたいのはなぜですか?関数の型を見ると、Optionを返すという事実は明らかであるため、何も寄与しません。

reduceOptionは、空のシーケンスでは機能しないことを除いて、ほとんどの場合、reduceを実際に使用したいので、一種の特殊なケースです。

于 2012-08-09T16:00:45.267 に答える