El código es correcto.
Puede mejorarse un poco. Casi que sería una mejora desde el punto de vista didáctico, y no tanto en términos de computación.
Cuando un
if tan solo va a ejecutar una sola instrucción, puedes prescindir de las llaves { }, en este caso son opcionales.
Si fuera a ejecutar más de una instrucción, entonces si es obligatorio usar llaves para que el compilador sepa que instrucciones son las que componen el conjunto que ha de ejecutarse si se cumple la condición del
if.
Luego, aunque en este caso no aportan absolutamente nada, queda mejor si usamos la instrucción
else. Más que nada para remarcar que cada condición ha de evaluarse porque la anterior ha resultado false.
Como digo, en este caso, estos cambios no aportarían nada a nivel computacional. El código no gana ningún tipo de optimización, más allá de ahorrarnos unas pocas líneas.
De cara al computador, le va a dar igual escribirlo como tú lo has hecho a como lo he hecho yo.
Pero, a nivel didáctico, es decir, de cara a la persona que pueda estar leyendo el código. Ahorrarnos las llaves da sensación de que hay menos código para leer y el uso de las instrucciones
else evidencia que las condiciones a evaluar son opuestas entre ellas. Si una condición se cumple, el resto de condiciones no han de ser evaluadas.
Que en este caso, esto ya ocurre sin necesidad de usar los
else. Porque si se cumple una condición, se ejecuta una sentencia
return y esto ya pone fin al método sin que se siga evaluando nada más.
Pero aunque no sea necesario, queda más didáctico usar los
else.
En fin, toda esta explicación es en realidad para concluir que tu código es totalmente correcto.
