viernes, julio 08, 2005

Crónica de una migración exitosa, Parte 3

Parte 3. Refactorizando el código.

Otra de las cosas que se hicieron para la migración a 32 bits de los sistemas Sanrom's, fue realizar un proceso de REFACTORIZACION del código fuente, otro proceso que el usuario final nunca ve, pero que internamente lleva mucho del trabajo para el programador.

La refactorización del código como lo explicó alguna vez José Luis Sánchez Navarro en su blog "Avemundi" es el proceso de revisar el código fuente no en búsqueda de bugs, sino en búsqueda de funciones o rutinas que se puedan optimizar, es decir, localizar aquellos puntos donde un FOR X... puede ser sustituido por un AEVAL, un grupo de instrucciones por un bloque de código, revisar que todas las variables estén bien definidas, quitar funciones obsoletas o que nunca se utilizaron, etc

Desde la primera versión de los sistemas Sanrom's, hace mas de 6 años, se habían ido acumulado pedazos de código que estaban ahí, sin hacer nada, y dado que los sistemas siempre están en constante cambio para adaptarlos a las necesidades y sugerencias de los clientes, mucho código realizado para probar tal o cual característica se queda como parte del fuente original aunque nunca se use.

Aprovechando que había que revisar todo el código fuente en busca de USE para adaptarlo al uso de ADS, se decidió además que la refactorización debería ser enfocada a utilizar al máximo las extensiones de xHarbour.

Así pues, con esto en mente, se procedió a hacer cambios en el código para utilizar las extensiones de xHB como WITH OBJECT, FOR EACH, SWITCH, variables GLOBAL, estas extensiones además de darle mayor estética al código fuente, repercutieron ampliamente en el desempeño del programa, se nota una velocidad bastante mayor por ejemplo en el acceso a arreglos en memoria.

Si quieres saber el porqué muchas extensiones de xHarbour mejoran el desempeño del programa, tienes que ver LA COSA DE NEGRO, jejeje y no es una invitación a ver algo sucio, se trata nada mas y nada menos que del blog de Walter Negro.

Walter Negro, como dice el amigo Julio Llinás, "enciende bajo el agua", y es que su conocimiento sobre la arquitectura interna de xHarbour y como explotarla al máximo es sorprendente, La Cosa de Negro es una referencia obligada para todos aquellos que deseen explotar al maximo las extensiones de xHarbour, ahí encontrarás el que y el por qué de muchas cosas que siempre te habias preguntado y que son respondidas por Walter de una manera simple de entender, sin entrar en demasiados tecnisismos.

Aprovechando todo lo que Walter explica en su blog, utilizamos la refactoriación del código original para al mismo tiempo optimizarlo para xHarbour, y creanme, ha valido la pena el esfuerzo, la aplicación se desempeña mucho mejor.

El factor tiempo.

A estas alturas del campeonato, te podrías estar preguntando.... ¿ y cuanto tiempo les llevó montar todo este circo para moverse a 32 bits ?, pues no mucho, si lo ponemos sobre la balanza, en realidad llevó solamente 6 meses, el dia 1 de Enero del 2005 dimos el banderazo de salida para el comienzo del desarrollo de las versiones 6 a 32 bits con tecnología cliente/servidor.

Los los nuevos productos fueron lanzados el 1 de Julio, exactamente 6 meses después de comenzar. ¿ qué.... 6 meses no es mucho tiempo ?, no si tomamos en cuenta que fueron 4 sistemas los que se movieron a 32 bits: Bancos, Control Escolar, Caja Escolar y el Módulo de consultas WEB, visto así el tiempo que se llevó el proceso de migración de cada sistema fue de 1.5 meses 6 semanas aproximadamente.


En el último artículo de esta serie, explicaré los ajustes que hicieron en la interfaz con el usuario, que también se trabajó a fondo para que el programa se "sintiera" como una aplicación nativa de Windows XP.

No hay comentarios.: