23 de febrero de 2017

Utilizar # DEFINE para navegar por el código

Artículo original: Use # DEFINE to navigate your code
http://www.ml-consult.co.uk/foxst-33.htm
Autor: Mike Lewis
Traducido por: Ana María Bisbé York


Un consejo sencillo que le permitirá recorrer grandes bloques de código mucho más fácil.

Recientemente un usuario nos pidió que le realizáramos un trabajo de mantenimiento en una aplicación Visual FoxPro. El programa incluía un único archivo PRG con más de 2,500 líneas de código. Nos quisimos desmayar al ver que el programador original no intentó siquiera dividir la lógica en pequeños módulos; lo había escrito como una única rutina monolítica.

Actualmente el estilo de programación no se presta para el mantenimiento. Lo ideal hubiera sido tomar tiempo para reestructurar el programa en procedimientos y funciones separadas; pero desafortunadamente, esto no fue posible.

Nosotros, sin embargo, dimos con una vía sencilla para navegar por esa monstruosa pieza de código. Nos dimos cuenta que el programa estaba hecho aproximadamente de 25 secciones lógicas. Cada uno de estos fragmentos de código realizaba una tarea particular. Al inicio de cada una de estas secciones, colocamos una directiva #DEFINE. Esto incluyó un identificador significativo que describe el propósito del código que le continúa como estos ejemplos:

#DEFINE Validate_Input@@
...@@ 
#DEFINE Calculate_Residue@@
...@@ 
#DEFINE Cleanup@@
...

La cuestión sobre estas directivas # DEFINE está en que ellas se muestran en la ventana Vista del documento (Document view) del menú Herramientas (Tools) (vea Figura1). Por consiguiente, tenemos una vía muy sencilla para acceder a cualquier sección de código, solamente con un clic del ratón.

Figura 1: Ventana Vista del documento. Las entradas con la marca # roja y grande son las directivas #DEFINE que se colocaron en el programa.

Si no ha utilizado la ventana de Vista de documento con anterioridad, definitivamente vale la pena tomar un momento para conocerla (está disponible en VFP7.0 y superior). Puede abrirla desde la Barra de herramientas Estándar (Standard toolbar) o desde el menú Herramientas (Tools). Su trabajo principal es mostrar los nombres de todos los procedimientos, funciones y métodos definidos en un archivo de programa, formulario o clase visual. Al hacer clic en uno de estos nombres, Visual FoxPro lo lleva directamente al código de la rutina en cuestión. (En el caso de los formularios y clases, debe hacer clic en el área de diseño para llenar inicialmente la ventana Vista del documento).

Opcionalmente, la ventana puede mostrar también las directivas #DEFINE y otras directivas de compilación. Estas opciones (que están activas de forma predeterminada) pueden encontrarse en el menú contextual que aparece al hacer clic derecho en la ventana. Esta característica nos facilitó la tarea de recorrer nuestro enorme archivo PRG.

Algo especialmente agradable de esta técnica es que una vez que se completó el trabajo de mantenimiento, no tuvimos que quitar las directivas #DEFINE. Como el resto de directivas del compilador, estas no impactan en tiempo de ejecución, y no afectan el rendimiento al dejarlas en el código.

Mike Lewis Consultants Ltd.

No hay comentarios. :

Publicar un comentario

Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.