Este evento ha pasado.
Defensa Tesis Licenciatura Joel Cámera
septiembre 2 @ 5:30 pm - 6:30 pm
Título: Extract Method con código parametrizado en Lenguajes Dinámicos y mejoras varias de Refactorings existentes
Director: Hernán Wilkinson
Jurados: Nicolás Rinaldi, Agustin Marinez
Resumen: El refactoring es una técnica fundamental en el desarrollo de software que permite mejorar la estructura del código sin modificar su semántica, permitiendo que el diseño y evolución del mismo se pueda realizar fácilmente. Este trabajo presenta un conjunto de mejoras a tres operaciones de refactoring — Extract Method, Extract Temporary Variable y Reorder Keywords — implementadas en el entorno de desarrollo Cuis Smalltalk.
Las mejoras sobre Extract Method extienden su aplicabilidad a fragmentos de código que contienen sentencias de retorno y asignaciones a variables, casos que previamente no eran soportados. Además, se incorpora un mecanismo de detección de parametrización, que permite identificar código susceptible de ser generalizado mediante la introducción de parámetros, ampliando así el alcance de las posibles extracciones.
En el caso de Extract Temporary Variable, la mejora consiste en detectar múltiples ocurrencias de una misma expresión dentro de un método, permitiendo que la herramienta proponga reemplazar todos los fragmentos coincidentes por la variable temporal introducida, y no únicamente la ocurrencia seleccionada.
El refactoring Reorder Keywords es extendido de manera que, al reordenar los selectores de un mensaje keyword, se reordenan de forma consistente tanto los argumentos en los envíos de ese mensaje como los parámetros en la definición del método, preservando la corrección semántica de la transformación.
Estas mejoras contribuyen a un conjunto de herramientas de refactoring más completo y confiable dentro de Cuis Smalltalk, reduciendo la intervención manual y minimizando el riesgo de introducir errores durante la reestructuración del código.
Palabras clave: Refactorings, TDD, Smalltalk, LiveTyping, ExtractMethod, ExtractTemporaryVariable, ReorderKeywords.
