Anécdotas y recomendaciones

Bienvenido a la sección de Anecdotas y Comentarios. Aquí encontrarás algunas recomendaciones que posiblemente te servirán cuando estés programando en Java. Esperamos te sirvan!!!


           Documentar los programas

 Una de las cuestiones más importantes de programar es saber describir correctamente lo que estamos programando. No solamente saber relacionar los nombres de nuestras variables con aquello que describen, sino también dejar bien comentado nuestro programa para que, cuando volvamos a él, podamos comprender fácilmente qué estabamos haciendo con alguna sección del Código. Mientras comenzabamos a programar el código, nos topamos con una serie de retos que nos requirieron pensar o rediseñar algunas secciones de nuestro programa.  Pero fue dificil hacer eso cuando regresamos a partes del código que no nos servian y no recordabamos para qué servían, y necesitabamos hacer lo mismo que hacían esas secciones del código pero con unas características distintas. Por no haber comentado desde el principio, tuvimos que reanalizar esas seccinoes del código para saber qué hacían y como manejaban las funciones que manejaban. El punto es que cuando estes programando siempre comentemos regularmente tu código, principalmente si tu programa es Eshtakka!


      Extends JPanel y Override PaintComponent(Graphics graphics)

Hola!!! Hoy tenemos otra recomendacion para tí. Las interfaz graficas de usuario son muy dinámicas, deben responder a acciones del usurio para que sean funcionales y deben, por lo tanto, tener una estructura defensiva muy robusta. Esto lo maneja Java con relativa facilidad. Pero una GUI también debe actualizarse y mostrar cambios en sí misma incluso cuando el usuario no ha hecho nada en la GUI. Este es una de las cuestiones que hay que tener en cuenta cuando se programan GUIs: se debe actualizar la presentación de los componentes constantemente. Y la solucion que nosotros implementamos fue hacer override del método PaintComponent(Graphics graphics) de la clase JPanel. Este método es llamado cada vez que se va a redibujar el JPanel. Es decir, este método no lo invocamos nosotros como tal (o al menos no hemos tenido necesidad de hacerlo), ya que la clase JPanel, lo utiliza constantemente para redibujarse. Este método se llama muchas veces cuando, por ejemplo, cambiamos el tamaño de una ventana y por tanto de los paneles adentro de esta. Entonces, cuando se hace override de este método, se puede incluir dentro del código que se actualizen las posiciones de los componentes con sus métodos setLocation(x,y), para que cuando se redibuje el JPanel, incluya los objetos que incluimos allí en las posiciones que establecemos allí. Espero te sirva!! Adios!!


           Trabajar con matrices
El trabajo con matrices en las interfaces gráficas de usuario puede simplificar mucho las tareas, ya que permiten organizar los componentes de la interfaz, y trabajar con todos los componentes utilizando ciclos. Sin embargo, cuando las matrices son muy grandes y trabajar con ciclos que recorren la matriz no es posible, el trabajo se puede volver tediosos y requerir demasiado código para hacer cambios paso por paso, además de que se necesita que el programador recuerde demasiadas características para cada elemento en la matriz. Por esto te recomendamos que cuando trabajes con matrices, intentes dividirlas en "áreas". Por ejemplo, que desde cierta fila hasta cierta columna las matrices manejen ciertos componentes, desde cierta fila hasta cierta columna la matriz manej otro tipo de elementos, y recorras estos espacios individualmente.


           Análisis de un método 
Hello! Sabes, a lo largo de este proyecto ha surgido muchas veces la pregunta: ¿Cómo va a hacer lo que tiene que hacer este método? y cuando hemos encontrado la solución, vemos que, aunque son varias líneas, todos los métodos se pueden resumir en una serie de pasos "narrados" que describen la solucion al problema, para luego convertirse en un algoritmo narrativo, y que nos hace pensar "duh, así de fácil". Sí, a veces parece que las soluciones a algunos retos de programación son fáciles, pero basta con intentar analizar un método para darse cuenta que no lo es. Programar es como saber unas palabras de una lengua extranjera, como el italiano, e intenta hablar con una persona que habla italiano pero que nunca te va a dirigir la palabra en italiano. Así que, para analizar un método puedes seguir los siguiente consejos:

1.- El nombre del método debe indicar claramente qué hace
       No importa si queda un nombre largo, como " agregar_dos_filas_y_columnas_en_mitad", pero si te ayuda a comprender o recordarte mejor qué es lo que es método hace, entonces ese nombre es el ideal.

2.- Piensa si ese método sirve para comprobar o encontrar algo.
      Por ejemplo, si tienes un método "comprobar_si_es_cafe", querrás que dicho método te permita saber si un objeto es de color café, por lo que ya sabes tres cosas: que necesitas algo qué comparar, contra qué comparar y algo que te indique si al fin es o no cafe dicho objeto. Por tanto, querrríamo que nuestro método fuera declarado así

                                   public boolean comprobar_si_es_cafe(Object  objeto)

3.- Piensa cuidadosamente el orden en que debes ejecutar los pasos.
      Esto es de muchísima importancia, ya que nosotros, como humanos, pensamos en las tareas muy sencillas como un todo, y no las debemos desglosar en distintos pasos. Hay tareas muy complejas para una computadora, como caminar, y que nosotros ni siquiera pensamos. Por esto es importante dividir una tarea compleja en otras más sencillas, y estas en los pasos para realizarla, ya que la computadora ejecuta linea por linea y, a menos que se lo digamos, no regresará a la línea anterior nunca.