Android. Juego del Ahorcado (XIII). Unificando randoms.

proyectos software libre

Después del último post, en la clase palabra han quedado dos métodos que tienen código redundante. Vamos a unificarlo:

Si echamos un vistazo a la clase palabra, encontramos los dos siguientes métodos:

private int palabra_aleatoria()
{
return (int) Math.ceil(Math.random()*palabras.length);
}

public String get_letra_aleatoria_ayuda()
{
int posicion_aleatoria = (int) Math.ceil(Math.random()*tamanyo_palabra_en_curso());


return getPalabra_en_curso().substring(posicion_aleatoria, posicion_aleatoria + 1);
}

En ambos método se hace uso de: (int) Math.ceil(Math.random()*… para conseguir un número aleatorio. Vamos a unificar este proceso en un nuevo método, al que llamaremos desde estos dos.

El nuevo método queda de la siguiente forma:

private int numero_aleatorio(int limite)
{
return (int) Math.ceil(Math.random()*limite);
}

y los métodos anteriores de la siguiente forma:

private int palabra_aleatoria()
{
return numero_aleatorio(palabras.length);
}

public String get_letra_aleatoria_ayuda()
{
int posicion_aleatoria = numero_aleatorio(tamanyo_palabra_en_curso());
return getPalabra_en_curso().substring(posicion_aleatoria, posicion_aleatoria + 1);
}

¿Qué conseguimos con este cambio?

El programa sigue funcionando de la misma forma. Lo que ha cambiado es el diseño de la implementación. Hemos eliminado la redundancia del random, “sacándolo” fuera de los métodos, con lo que, a esos métodos, se le está “ocultando” la manera de conseguir el número aleatorio.

Puede parecer que no se gana mucho, pero lo importante es que las redundancias no son deseables. Sin embargo, la ocultación sí. Con cambios como éste conseguimos que nuestro programa sea más fácil de modificar en el futuro. Por ejemplo, si quisiésemos cambiar la manera en la que el programa genera el número aleatorio, con este cambio bastaría cambiar el cuerpo del nuevo método. Con el código anterior, deberíamos cambiarlo en dos sitios. Puede no parecer mucho esfuerzo, pero los programas “de verdad”, de tamaño y complejidad industriales, no tendrán dos pequeños métodos a cambiar, sino que el impacto será mucho mayor.

¡Hasta el próximo post!

Acerca de Isildur Fuentes

Apasionado de las buenas historias y aikidoka de la tierra.

Publicado el julio 19, 2011 en Android, Divulgación, EDIB, Programación y etiquetado en , , , , , , . Guarda el enlace permanente. 2 comentarios.

  1. hola amigo sabes que estoy siguiendo tus publicaciones x ke esta muy interesante estos post de crear el juego ahorcado paso a paso.

    quisiera saber si lo continuaras o lo finalizaras ya no aguanto las ganas de verlo funcionando avisame x favor .

    estoy comiendo ancias

    • Isidro Fuentes Hermoso

      Hola isaie. La intención es seguir con los posts del juego del ahorcado. Pasado el mes de agosto, se han retomado los esfuerzos y un nuevo post está siendo elaborado en estos momentos. Te agradezco el interés que demuestras por estos artículos.

      Un saludo y muchas gracias.

A %d blogueros les gusta esto: