2012-08-09 12 views
5

Cuando devuelvo algo del tipo Option, me parece útil explicar en nombre del nombre de la función que es una opción, no la cosa en sí. Por ejemplo, seqs tiene reduceOption. ¿Hay una convención de nomenclatura estándar? Cosas que he visto:Convención de nomenclatura de Scala para las opciones

maybeFunctionName

functionNameOption

- no parece ser tan grande.

+2

¿Qué pasa con 'functionNameOpt'? Es más corto y aún descriptivo. La convención de nomenclatura 'tal vez ...' es probablemente más adecuada para Haskell, donde el tipo de opción se llama 'Maybe'. –

+3

Simplemente relájate y olvídate de eso. Pronto se sentirá cómodo con los nombres de los miembros sin insinuar ninguna opción, porque en la práctica siempre es obvio si el miembro puede devolver 'None'. Considere esto como una fase de adaptación –

Respuesta

13

reduceOption y amigos (headOption, etc.) sólo llevan el nombre de esa manera para distinguirlos de sus alternativas poco seguras (que podría decirse que no debería existir en el primer lugar, es decir, no debe ser sólo un head que devuelve un Option[A]) .

whateverOption no es la práctica habitual en la biblioteca estándar (o en la mayoría de las demás bibliotecas de Scala de las que tengo conocimiento), y en general no debería necesitar o querer utilizar este tipo de notación húngara en Scala.

7

¿Por qué le gustaría alargar los nombres de sus funciones? No contribuye en nada, ya que el hecho de que devuelva una Opción es obvio al observar el tipo de función.

reduceOption es una especie de caso especial, ya que en la mayoría de los casos, realmente desea utilizar reducir, excepto que no funciona en secuencias vacías.

+0

"ya que el hecho de que devuelva una Opción es obvio cuando se mira el tipo de función". ... excepto cuando el tipo no se hace realmente explícito, ya que Scala no fomenta necesariamente la especificación de tipos explícitamente. – omnilinguist

Cuestiones relacionadas