AML Quiz Refactorization Flashcards
(62 cards)
¿Qué es la refactorización?
Proceso de mejorar la estructura interna del código sin modificar su comportamiento externo.
¿Cuál es el objetivo de la refactorización?
Hacer que el código sea más legible, mantenible y escalable.
¿Qué indica la Regla de Tres?
Si repites código 3 veces, debes refactorizar.
¿Por qué son importantes las pruebas antes de refactorizar?
Permiten asegurar que el comportamiento del programa no cambie.
¿Qué es un code smell?
Señal de posible problema estructural en el código, aunque funcione.
¿Qué es un bloater?
Olor de código relacionado con métodos largos, clases grandes o listas de parámetros extensas.
¿Qué es la envidia de características?
Cuando una clase accede más a datos de otra clase que a los suyos propios.
¿Qué es una cirugía de escopeta?
Un cambio obliga a modificar muchas clases distintas al mismo tiempo.
¿Qué es una jerarquía de herencia paralela?
Cada clase en una jerarquía depende de una clase correspondiente en otra.
¿Qué son los campos temporales?
Variables que solo se usan bajo ciertas condiciones específicas.
¿Qué son los comentarios innecesarios?
Comentarios que explican lo obvio o son redundantes con el código.
¿Qué es el código duplicado?
Lógica repetida en múltiples lugares del código.
¿Qué son las clases de datos?
Clases que solo contienen campos y acceso a datos, sin comportamiento.
¿Qué es la generalidad especulativa?
Código que se escribe pensando en necesidades futuras que aún no existen.
¿Qué es la composición de métodos?
Dividir un método largo en métodos más pequeños y claros.
¿Qué significa movimiento de funcionalidad entre objetos?
Transferir comportamiento a la clase más adecuada.
¿Qué es la organización de datos?
Reestructurar cómo se agrupan y acceden los datos.
¿Qué es la simplificación de expresiones condicionales?
Reducir la complejidad de estructuras como if-else.
¿Qué es la simplificación de llamadas a métodos?
Reducir la complejidad en cómo se invocan los métodos.
¿Qué es el manejo de generalización?
Reemplazar condicionales por polimorfismo o jerarquías limpias.
¿Qué es el Factory Method?
Permite crear objetos sin especificar su clase concreta.
¿Qué es el Abstract Factory?
Crea familias de objetos relacionados sin acoplarse a clases concretas.
¿Qué es el Builder?
Separa la construcción de un objeto complejo de su representación.
¿Qué es el Adapter?
Permite que clases con interfaces incompatibles colaboren.