Java - Cómo evitar cadenas de if

 
Vista:

Cómo evitar cadenas de if

Publicado por Juan (135 intervenciones) el 29/01/2018 15:13:15
Tengo un array bidimensional al que quiero aplicarle el algoritmo A* (path finder).
Cuando el punto analizado está en un borde, como es entendible salta una IndexOutOfBoundsException ya que analiza las posiciones aue tiene a su alrededor.
En las esquinas haría falta un if específico para cada una y para los bordes que no són esquinas otro, teniendo así que poner un total de 8 if con código casi idéntico dentro suya.
Lo único que se me ocurre es capturar la excepción, pero por lo que tengo entendido esta práctica es un sacramento a la ética de la programación.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cómo evitar cadenas de if

Publicado por Tom (1831 intervenciones) el 30/01/2018 17:53:48
No sé qué significa lo del "sacramento a la ética de la programación", pero lo que pasa con las unchecked exceptions es que son el resultado de una mala programación, o de un fallo del sistema (runtime exceptions).
Por supuesto, puedes capturar esa excepción y hacer lo que te parezca, pero nada te garantiza que tu programa siga funcionando correctamente Así que la ética no pinta nada aquí, la cuestión es ser un buen programador o un aficionado chapucero.

https://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html

Por lo demás, para quitar ifs ... es cuestión de pensárselo un poco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cómo evitar cadenas de if

Publicado por Jordi (135 intervenciones) el 31/01/2018 03:13:30
Gracias por la resupesta :D
Lo de sacramento a la etica de la programación es una forma divertida de decir que es una chapuza como una casa. Etica de la programación podría ser por ejemplo poner las variables en privado o no empezar a hacer métodos estaticos sin ton ni son
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar