CodeCaption : una herramienta para realizar Code Review distribuido
Autor Principal: | |
---|---|
Otros autores o Colaboradores: | |
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. |
Tabla de Contenidos:
- 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