Todos los lenguajes son “código heredado” (legacy code)
Publicado por josevnz 20 Agosto 2006 en General, Herramientas, How To's, Testing.
La ruta del código heredado es solitaria ya que nadie quiere transitarla
Me perdonan si esa no es la mejor traducción, hago lo que puedo. Pero si, levanten la mano quienes nunca hayan tenido que mantener código que:
- No escrito por usted
- Interactua con otros sistemas más antiguos que el suyo (Mainframes, COBOL)
- Interactuan con otros sistemas que tiene código cerrado
- Sin ninguna o poca documentación
Me imagino que se veran pocas manos ya que la situación es muy común.
Y es que casi podriamos decir que todos los lenguajes son de código heredado, si tienen al menos 5 años dando vueltas: C#, Perl, Java, C++. En unos 3 años podremos hablar quizas que Ruby y Rails, Python serán código de este tipo y es que más y más sistemas estaran corriendo por más tiempo.
¿Pero, y son los lenguajes de programación los culpables de todo este problema?
No. El problema es que el conocimiento es mantenido de manera pobre por las compañias. Documentar (casos de uso, requerimientos e inclusive código) es visto como una perdida de tiempo… hasta que el desarrollador que trabaja en el problema se va de la compañia y les deja el peo formado a los dueños originales.
Yo en particular lo he visto en sistemas pequeños, medianos y grandes. Quienes liderizan el desarrollo sólo se preocupan de mostrarle al negocio que pueden entregar nuevas características en el producto, sacrificando estabilidad y entedimiento.
¿Hay algo que se pueda hacer? Yo creo que sí. Para empezar los responsables de conducir el equipo deben demostrar que la documentación no sólo es deseable sino requerida, y su escritura debe ser fomentada. El otro paso es utilizar mejores herramientas que faciliten la escritura de esta documentación, ya que de otra manera será evitada como la plaga.
¿Quien quiere pasar su tiempo documentando y viendo código roto cuando hay tantos problemas nuevos por resolver? :)
¿Qué hace usted en su compañia cuando tiene que lidiar con código heredado y todos los problemas asociados?
Aún no entiedo claramente los codigos si preestablecidos o si cada dia se vienen creando nuevos prototipos me gustaria que me aclraran mas sobre este asunto, ya que en clase de semiologia me pidieron investigarlo.por favor ayudame