PowerBuilder
Elevando la Calidad del Código: Análisis Automatizado de Código Obsoleto en PowerBuilder 2025 R2

0 visualizaciones
Demo técnica de PowerBuilder 2025 R2
Mantener bases de código heredadas puede ser un gran desafío, especialmente al intentar localizar funciones huérfanas o variables sin referencia. Esta demo técnica muestra cómo diseñar un analizador de "código limpio" personalizado dentro de PowerBuilder, aprovechando las APIs nativas para evaluar aplicaciones y fomentar prácticas de programación óptimas.
Por qué existe esta demo
En grandes espacios de trabajo de PowerBuilder, el código obsoleto o muerto se acumula con el tiempo. Los desarrolladores a menudo dejan métodos olvidados o declaran variables locales que nunca se utilizan, lo que incrementa los costos de mantenimiento. Esta demo presenta nvo_engine_analyser, un motor analítico que recorre programáticamente proyectos .pbt, inspecciona el código fuente y detecta con precisión los componentes sin uso.
Resolución Dinámica del Objetivo
En lugar de depender de directorios estáticos, la herramienta rastrea el ecosistema de un proyecto de manera dinámica. Al extraer el LibList directamente de un archivo .pbt, construye rutas relativas haciendo referencia a la raíz del espacio de trabajo o al directorio de ejecución actual. Esto asegura una portabilidad total sin importar en qué computadora se ejecute.
El Motor Analítico: nvo_engine_analyser
El núcleo de esta arquitectura es un escáner automatizado que carga en memoria todo el universo de objetos de la aplicación. Cuenta con dos procesos analíticos principales:
• Detección de Métodos Huérfanos: El motor aísla las definiciones de FUNCTION y SUBROUTINE dentro del código fuente exportado, elimina los comentarios y mide el conteo global de invocaciones. Si una función es llamada menos veces de lo que su propia declaración exige, es etiquetada como METODO SIN USO.
• Parseo de Variables sin Uso: A través de la rutina of_unused_vars, la herramienta analiza el cuerpo de cada función e identifica las variables definidas (ej., String, Integer, DataStore). Al validar sus ocurrencias internas, aísla aquellas variables que fueron creadas pero jamás invocadas.
Extracción de Código Fuente
Para inspeccionar la estructura interna de una aplicación destino, el analizador se apoya en LibraryDirectoryEx y LibraryExport. Evalúa cada script y somete el código crudo a una limpieza profunda (of_hard_scrub), eliminando comentarios simples y multilínea para prevenir "falsos positivos" durante las búsquedas de tokens.
1ls_dir_info = LibraryDirectoryEx(ls_pbl, DirAll!)2ls_source = LibraryExport(ls_pbl, ls_obj, le_type)3// Limpieza profunda para eliminar comentarios4ls_source_clean = of_hard_scrub(ls_source)
La Experiencia Visual: w_analizador_codigo
El analizador provee una interfaz clara y tabular mediante w_analizador_codigo. El DataWindow de resultados mapea cada componente, destacando las funciones y variables exactas que pueden ser removidas de forma segura. Además, permite la exportación fluida a Excel directamente en el directorio de trabajo actual, facilitando la distribución de reportes con el equipo de desarrollo.
Conclusión
Esta demo demuestra que los desarrolladores de PowerBuilder 2025 R2 poseen todas las herramientas nativas requeridas para realizar análisis estático avanzado. Al rastrear de forma dinámica la estructura de los proyectos y parsear el código fuente, los equipos pueden establecer compuertas de calidad, depreciar lógica obsoleta con confianza y fomentar arquitecturas drásticamente más limpias.