Optimizar y documentar el código Flashcards
(41 cards)
¿Qué es el refactoring?
Es una técnica de ingeniería de software que mejora la estructura y eficiencia del código sin alterar su funcionalidad.
¿Cuáles son las ventajas principales del refactoring?
Facilita mantenimiento, simplifica diseño, mejora comprensión, detecta errores y agiliza el desarrollo.
¿Cuáles son algunos inconvenientes del refactoring?
Puede ser difícil para novatos, consume tiempo, exceso puede ser contraproducente y puede afectar otras partes del software.
¿Qué problema resuelve definir constantes globales en lugar de variables repetidas?
Evita modificar múltiples instancias del mismo valor y reduce errores al centralizar el cambio en un solo lugar.
¿Qué es el patrón ‘Extraer método’?
Crear un método nuevo a partir de un fragmento de código repetitivo para mejorar legibilidad y reutilización.
¿Qué hace el patrón ‘Dividir variable temporal’?
Separa variables que almacenan diferentes valores para evitar confusión y facilitar el mantenimiento.
¿Para qué sirve el patrón ‘Eliminar asignaciones a parámetros’?
Evitar modificar parámetros de entrada dentro de un método para mantener claridad y evitar efectos secundarios.
¿Qué es el patrón ‘Mover método’?
Trasladar un método a la clase donde es más utilizado para mejorar organización y coherencia.
¿Qué busca el patrón ‘Consolidar fragmentos duplicados en condiciones’?
Extraer código repetido fuera de las ramas condicionales para evitar duplicación y facilitar cambios.
¿Qué significa ‘Descomponer un condicional’?
Dividir condiciones complejas en partes más pequeñas o métodos para mejorar legibilidad.
¿Qué es ‘Reemplazar número mágico con constante simbólica’?
Sustituir números sin explicación en el código por constantes con nombres claros que expliquen su significado.
¿Para qué se usa el patrón ‘Encapsular atributo’?
Convertir atributos públicos en privados y usar getters/setters para controlar acceso y modificar su valor.
¿Qué indica un ‘mal olor’ en el código?
Señal de que el código puede tener problemas de diseño o mantenimiento que requieren refactorización.
¿Qué problema indica un método largo?
Que una función es demasiado extensa y debería dividirse para mejorar claridad y mantenimiento.
¿Por qué evitar listas de parámetros largas?
Dificultan comprensión, mantenimiento y reutilización; mejor usar objetos o dividir métodos.
¿Qué es la generalidad especulativa?
Crear clases o jerarquías que no se usan, complicando el mantenimiento innecesariamente.
¿Qué función tiene un sistema de control de versiones (VCS)?
Registrar y almacenar el estado del código fuente en diferentes momentos para facilitar seguimiento y colaboración.
¿Qué es un commit en control de versiones?
Confirmación y subida de cambios hechos localmente al repositorio central.
¿Qué es una rama (branch) en control de versiones?
Una línea independiente de desarrollo que permite trabajar en funcionalidades separadas sin afectar la principal.
¿Qué ventaja tiene un sistema de control de versiones distribuido?
Cada usuario tiene un repositorio completo local, lo que permite trabajar sin depender siempre del servidor central.
¿Qué es JavaDoc?
Herramienta para generar documentación HTML automática a partir de comentarios especiales en código Java.
¿Por qué es importante documentar el código?
Mejora la legibilidad, facilita el mantenimiento y ayuda al trabajo en equipo y a usuarios finales.
¿Qué tipo de comentario reconoce JavaDoc?
Comentarios que empiezan con /** y usan etiquetas como @param, @return para describir clases y métodos.
¿Qué problema genera la duplicación de código?
Dificulta mantenimiento, provoca inconsistencias y aumenta errores; debe evitarse con refactoring.