Aprendo Scala durante un tiempo y no puedo entender claramente el uso de la opción. Me ayuda a evitar las comprobaciones nulas cuando cadenas de funciones (según docs). Eso está claro para mí :)Cuándo utilizar la opción
A continuación veo que la opción puede ser una especie de indicador para el desarrollador de que el valor nulo es posible aquí y debe manejarse. ¿Es verdad? En caso afirmativo, ¿debo usar Option donde sea posible? Por ejemplo
class Racer {
val car = new Car()
}
tengo clase Racer y estoy seguro de que el campo coche no puede ser nulo (porque es constante y obtener un valor al crear instancia Racer). No hay necesidad de opción aquí.
class Racer {
var car = new Car()
}
Aquí lo hago para que el automóvil pueda cambiar. Y es posible que alguien asigne un nulo al automóvil. ¿Debería usar Option aquí? Si es así, noto que todos mis campos de clase son candidatos para Opción. Y mi código se ve así
class Racer {
var car: Option[Car] = None
var currentRace: Option[Race] = None
var team: Option[Team] = None
...
}
¿Se ve bien? Para mí, parece una especie de Opción sobreutilizando.
def foo(): Result = {
if(something)
new Result()
else
null
}
Tengo un método que puede devolver nulo. ¿Debo devolver la opción en su lugar? ¿Debo hacerlo siempre si es posible que el método devuelva nulo?
Cualquier idea al respecto sería útil. ¡Gracias por adelantado!
Mi pregunta es similar a Why option pero creo que no es lo mismo. Se trata más de cuando, no por qué. :)
Además de otras respuestas intente leer este http://simply.liftweb.net/index-7.2.html –
Gracias. Le daré un vistazo. – Soteric