Aparicio, Nahuel Alejandro

CodeCaption : una herramienta para realizar Code Review distribuido - 2022 - 1 archivo (5,7 MB) : il. col.

Tesina (Licenciatura en Sistemas) - Universidad Nacional de La Plata. Facultad de Informática, 2022.

Capítulo 1. Introducción -- 1.1 Objetivos del proyecto -- 1.2 Motivación -- 1.3 Organización de la Tesis -- Capítulo 2. Antecedentes y Conceptos -- 2.1 Calidad de Software y Métricas de Calidad de Código Fuente -- 2.1.1 Métricas de Calidad Código Cualitativas -- Eficiencia -- Extensibilidad -- Buena Documentación -- Mantenibilidad -- Claridad -- Legibilidad y Formateo de Código -- Comprobabilidad (Testability) -- 2.1.2 Métricas de Calidad Código Cuantitativas -- Puntos de Función Ponderados (Weighted Micro Function Points) -- Métricas de Complejidad de Halstead -- Complejidad Ciclomática -- 2.2 Metodologías Ágiles y Extreme Programming -- 2.3 Revisión de Código -- 2.4 Análisis de Código Fuente y Abstract Syntax Trees (AST) -- 2.5 Soluciones existentes -- 2.6 CodeCaption en el Cumplimiento de las Métricas -- Capítulo 3. Diseño -- 3.1 Objetivos del diseño de la herramienta -- 3.2 Diseño de la mecánica de uso -- 3.2.1 Uso de la interfaz gráfica -- 3.2.2 Cambios de las estructuras de datos en el uso de la herramienta -- 3.3 Casos de Uso -- 3.3.1 Revisor analiza el código de un desarrollador en el proyecto -- 3.3.2 Desarrollador recibe revisión y realiza correcciones -- 3.3.3 Revisor resuelve la revisión luego de aplicarse las correcciones -- 3.3.4 Desarrollador decide no aplicar correcciones a partir de revisión -- 3.4 Flujo e Interacción entre los Objetos del Diseño -- 3.4.1 Diagrama de interacción para el agregado de un nuevo Code Caption -- 3.4.2 Diagrama de interacción para la resolución de un Code Caption -- 3.5 Diseño de CodeCaption dentro de Pharo -- 3.5.1 Interfaz de CodeCaption -- 3.5.1.1 Agregado y/o editado de CodeCaption -- 3.5.1.2 Listado de CodeCaptions -- 3.5.2 Extensión de la interfaz de Pharo -- 3.5.2.1 Selección de código a revisar -- 3.5.2.2 Apertura de listado de CodeCaptions -- 3.6 Desventajas del Diseño -- Capítulo 4. Implementación de la herramienta -- 4.1 Introducción a la Implementación -- 4.2 Diagrama de Clases -- 4.3 Clases por Secciones -- 4.4 Caption -- CodeCaptionComment -- CodeCaptionSource -- CodeCaptionProject -- CodeCaptionRBNodeMatcher -- 4.5 UI Context -- CodeCaptionAddCommand -- CodeCaptionShowCommentsCommand -- 4.6 UI -- CodeCaptionListWindow -- CodeCaptionWindow -- 4.7 Extensions -- RBProgramNode -- IceLibgitRepository -- 4.8 Interfaz gráfica -- 4.8.1 Botones Comandos de Pharo Smalltalk -- 4.8.1.1 Agregar y/o Editar un CodeCaption (CodeCaptionAddCommand) -- 4.8.1.2 Listar CodeCaptions (CodeCaptionShowCommentsCommand) -- 4.8.2 Ventanas Gráficas -- 4.8.2.1 Agregado/Editado de CodeCaption (CodeCaptionWindow) -- setModelBeforeInitialization: aCodeCaptionComment -- initializeWindow: aWindowPresenter -- initializePresenters -- connectPresenters -- 4.8.2.2 Listado de Revisiones de código CodeCaption (CodeCaptionListWindow) -- setModelBeforeInitialization: aCodeCaptionProject -- initializeWindow: aWindowPresenter -- initializePresenters -- connectPresenters -- updatePresenter -- 4.9 Almacenamiento de CodeCaption -- 4.9.1 Guardado de CodeCaption -- 4.9.2 Carga de CodeCaption -- 4.10 Integración con los AST de Pharo Smalltalk -- 4.10.1 Referencia a nodo del AST en las revisiones -- 4.10.2 Uso del patrón Visitor en el AST al realizar el parseo de las revisiones -- 4.11 Integración con Repositorio Git -- 4.11.1 Utilización de Git dentro de Pharo mediante Iceberg -- 4.11.2 Ejecución de comandos Git mediante la terminal -- Capítulo 5. Prueba de usuario -- 5.1 Objetivos de la prueba -- 5.2 Tipo de prueba -- 5.3 Usuarios de la prueba -- 5.4 Definición de la Prueba -- 5.4.1 Parte 1: Instalación de la aplicación y herramienta, y búsqueda de code smells -- 5.4.2 Parte 2: Creación de revisiones de código con la herramienta 80 -- 5.4.3 Parte 3: Visualización de revisiones de código creadas por otro desarrollador. 80 -- 5.4.4 Encuesta -- 5.5 Análisis -- 5.5.1 Usabilidad -- Duración de Identificación de Code Smells (eficiencia) -- Sin el uso de CodeCaption -- Con el uso de CodeCaption -- Comparación de tiempos -- Encuesta sobre rapidez y facilidad de uso (eficacia) -- 5.5.2 Satisfacción del usuario -- Pregunta 1: -- Pregunta 3: -- 5.5.3 Mejoras a realizar -- Capítulo 6. Conclusiones y Trabajo Futuro -- 6.1 Conclusiones -- 6.2 Trabajo Futuro -- Bibliografía

DIF-M8704


SMALLTALK

revisión de código