CodeCaption : una herramienta para realizar Code Review distribuido

Detalles Bibliográficos
Autor Principal: Aparicio, Nahuel Alejandro
Otros autores o Colaboradores: Balaguer, Federico (Director/a)
Formato: Tesis
Lengua:español
Datos de publicación: 2022
Temas:
Acceso en línea:http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=2599
Consultar en el Cátalogo
Descripción Física:1 archivo (5,7 MB) : il. col.

MARC

LEADER 00000nam a2200000 a 4500
003 AR-LpUFIB
005 20250311170525.0
008 230201s2022 ag a om 000 0 spa d
024 8 |a DIF-M8704  |b 8930  |z DIF007975 
040 |a AR-LpUFIB  |b spa  |c AR-LpUFIB 
100 1 |a Aparicio, Nahuel Alejandro 
245 1 0 |a CodeCaption :  |b una herramienta para realizar Code Review distribuido 
260 |c 2022 
300 |a 1 archivo (5,7 MB) :  |b il. col. 
502 |a  Tesina (Licenciatura en Sistemas) - Universidad Nacional de La Plata. Facultad de Informática, 2022. 
505 0 |a  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 
650 4 |a SMALLTALK 
653 |a revisión de código 
700 1 |a Balaguer, Federico ,  |e Director/a 
856 4 0 |u  http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=2599 
942 |c TE 
952 |0 0  |1 0  |4 0  |6 TES_2251  |7 0  |9 84042  |a DIF  |b DIF  |d 2025-03-11  |i DIF-05269  |l 0  |o TES 22/51  |p DIF-05269  |r 2025-03-11 17:05:25  |w 2025-03-11  |y TE 
952 |0 0  |1 0  |4 0  |7 3  |8 BD  |9 84043  |a DIF  |b DIF  |d 2025-03-11  |l 0  |r 2025-03-11 17:05:25  |u http://sedici.unlp.edu.ar/handle/10915/152122  |w 2025-03-11  |y TE 
952 |0 0  |1 0  |4 0  |7 3  |8 BD  |9 84044  |a DIF  |b DIF  |d 2025-03-11  |l 0  |r 2025-03-11 17:05:25  |u http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=2599  |w 2025-03-11  |y TE 
999 |c 57747  |d 57747