Programar o dejar como está, esa es la cuestión

Imagen de Edakos

Tema: 

El programar con la buena de dios casi siempre traen problemas a la hora de actualizar el código o solucionar errores. Aquí surge la necesidad de utilizar un orden y seguir estándares y buenas prácticas para evitar estas rompederas de cabeza futuras.

El organizar código mal hecho es una dura tarea, y las más veces es mejor botar al tacho ese espagueti y empezar de nuevo. Pero, ¿qué sacamos si ese código nuevo va a ser hecho de nuevo mal, y si a la vuelta de unos meses o años no vamos a entendernos lo que quisimos hacer por falta de estructura y adecuada documentación? Así nos duela, así el jefe esté atras como loco diciendo "qué fue", uno debe adquirir buenas costumbres de programación y NO SALTARSELAS NUNCA, por lo menos las reglas básicas:

  • Concentración: Es importante adquirir capacidades de concentración, aún en los peores ambientes. La meditación y el ejercicio tanto mental como físico puede ayudar, o distraerse un momento para molestar a la guapa de la oficina.
  • Orden: No importa en qué lenguaje se programe, uno debe poder visualizar hacia dónde va a dirigirse el desarrollo y preveer el esquema general que seguirá el código (y seguirlo).
  • Estándares: Seguir normas de codificación ACEPTADAS POR EL GRUPO (cha mangos) que permita a otra persona ajena una ágil lectura del código. Se reconoce a los "iluminados" que reescriben estándares cuando, al mirar un código propio, dicen "epa, esa es mi letra".
    NOTA: Cada lenguaje suele tener repositorios de librerías donde existe documentación sobre la forma que se debe programar para ingresar nuevas librerías. Seguirlas es una buena idea, pues han sido escrutadas por el duro filtro de la crítica.
  • Práctica: Solo la práctica hace al maestro, mi querido saltamontes. Es bueno adquirir destresas manuales y mentales que nos ayudarán a enfrentar problemas, porque vendrán problemas. Los requerimientos de última hora, o los errores del sistema en producción, son las pesadillas de un programador "mercenario". En estos momentos es donde el código suele salirse de control, y donde se pone a prueba la buena gestión del código que uno tenga.
  • Utilizar versionamiento: Esto es tan tan importante como salir desayunando de la casa. Debemos tener respaldos del código, en por los menos un lugar físicamente apartado de nuestro lugar de trabajo, ordenado por fechas. Qué mejor el utilizar un sistema gestor de versionamientos como el CVS o el Subversion, hasta el SourceSafe por últimas, pero en ese caso alguien DEBE hacerse responsable de mantener sano el repositorio de versiones y sacar respaldos de tanto en tanto.
  • Poner comentaritos: No es difícil, no toma mucho tiempo, solo decir algo como "//aquí evalua la respuesta" o "//aquí dicierne si es mayor que cero la cuantificación del coeficiente IQ del batracio usuario" y a futuro nos resultará un poco más comprensible nuestras maravillas incomprensibles. A propósito:
  • KISS: Keep It Simple, Stupid, es una alegoría para reservar nuestras muestras de ingenio desmedido a mentes elevadas afines en las discertaciones de poesía.
  • Cogerle gusto: Si no te gusta la programación, nunca serás buen programador; quizás como máximo un administrador que sabe bastante programación. Para más señas, teniendo como referencia a mi persona y mis amigos, a un programador "de sepa" le gustan los problemas matemáticos y lógicos, tiene habilidad en manejar conceptos abstractos, y está un poco rayado del mate.

El seguir estos puntos le hará la vida más feliz y le evitará agravios y malas pasadas a futuro por parte de los compañeros de trabajo, el jefe, la esposa, los hijos y demás seres ingratos.

Comentarios

Metodologias

Imagen de pepo

Va más allá de eso; en ocasiones el código se vuelve casi ajeno, al pasar de unos días; por eso se debe:

Usar metodologías:

  • PUD
  • RUP
  • XP

Lineamientos como:

  • PSP
  • TSP

Seguir las normas será un completo alivio y el producto final será más refinado y menos bugsoso ;)

OjO que muchos tienen graves problemas al creer que UML es una metodología, esta se trata de una herramienta, muy pero muy útil pero una herramienta nada más.

Happy Coding!

------------------------------------------------
Linux User Registered #232544
Jabber : pepo@jabberes.org
Ekiga : pepo@ekiga.net
ICQ : 337889406
GnuPG-key : www.keyserver.net

------------------------------------------------
Linux User Registered #232544
Jabber : pepo@jabberes.org
Ekiga : pepo@ekiga.net
GnuPG-key : www.keyserver.net

jaja creo que me identifico...

Imagen de Gantz

jaja creo que me identifico con la regla KISS, aunque la concentracion, orden y comentarios eran algo usual en mis programas.. cuando programaba. Supongo que depende que tanta practica tengas y el tamaño de los mismos, conozco un par de gentes que leian (o leen) su codigo como la palma de la mano y programan a la buena de dios.

El Ajedrez es deporte, arte y ciencia. Analizada jugada a jugada la partida es una Ciencia; en su conjunto es una obra de Arte; a nivel competitivo es un Deporte.
(Carlos Torre, Gran Maestro mexicano)

[img]http://www.danasoft.com/sig/gantztux.jpg[/img]

Si prohibieran el ajedrez, me convertiría en contrabandista.
Miguel Tal, excampeón mundial