aaaa Flashcards

(62 cards)

1
Q

¿Qué es la refactorización?

A

Proceso de mejorar la estructura interna del código sin modificar su comportamiento externo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cuál es el objetivo de la refactorización?

A

Hacer que el código sea más legible, mantenible y escalable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué indica la Regla de Tres?

A

Si repites código 3 veces, debes refactorizar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Por qué son importantes las pruebas antes de refactorizar?

A

Permiten asegurar que el comportamiento del programa no cambie.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué es un code smell?

A

Señal de posible problema estructural en el código, aunque funcione.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Qué es un bloater?

A

Olor de código relacionado con métodos largos, clases grandes o listas de parámetros extensas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es la envidia de características?

A

Cuando una clase accede más a datos de otra clase que a los suyos propios.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es una grujía de escopeta?

A

Un cambio obliga a modificar muchas clases distintas al mismo tiempo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué es una jerarquía de herencia paralela?

A

Cada clase en una jerarquía depende de una clase correspondiente en otra.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué son los campos temporales?

A

Variables que solo se usan bajo ciertas condiciones específicas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué son los comentarios innecesarios?

A

Comentarios que explican lo obvio o son redundantes con el código.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué es el código duplicado?

A

Lógica repetida en múltiples lugares del código.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué son las clases de datos?

A

Clases que solo contienen campos y acceso a datos, sin comportamiento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es la generalidad especulativa?

A

Código que se escribe pensando en necesidades futuras que aún no existen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué es la composición de métodos?

A

Dividir un método largo en métodos más pequeños y claros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué significa movimiento de funcionalidad entre objetos?

A

Transferir comportamiento a la clase más adecuada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué es la organización de datos?

A

Reestructurar cómo se agrupan y acceden los datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

¿Qué es la simplificación de expresiones condicionales?

A

Reducir la complejidad de estructuras como if-else.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

¿Qué es la simplificación de llamadas a métodos?

A

Reducir la complejidad en cómo se invocan los métodos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Qué es el manejo de generalización?

A

Reemplazar condicionales por polimorfismo o jerarquías limpias.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Qué es el Factory Method?

A

Permite crear objetos sin especificar su clase concreta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

¿Qué es el Abstract Factory?

A

Crea familias de objetos relacionados sin acoplarse a clases concretas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

¿Qué es el Builder?

A

Separa la construcción de un objeto complejo de su representación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

¿Qué es el Adapter?

A

Permite que clases con interfaces incompatibles colaboren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
¿Qué es el Bridge?
Separa una abstracción de su implementación para que evolucionen de forma independiente.
26
¿Qué es el Decorator?
Añade responsabilidades dinámicamente a un objeto.
27
¿Qué es el Composite?
Permite tratar objetos individuales y compuestos de manera uniforme.
28
¿Qué es el Observer?
Define una dependencia uno-a-muchos entre objetos; los observadores se notifican de cambios.
29
¿Qué es el Command?
Encapsula una solicitud como un objeto.
30
¿Qué es el Mediator?
Centraliza la comunicación entre objetos para reducir dependencias directas.
31
¿Qué es el Chain of Responsibility?
Pasa una solicitud por una cadena de objetos hasta que uno la maneja.
32
a
a
33
¿Cuál es el objetivo principal de la refactorización?
Transformar código desordenado en limpio sin alterar su comportamiento
34
¿Qué regla indica el momento ideal para refactorizar código duplicado?
Regla de tres
35
¿Cuál de estos es un 'bloater'?
Método largo
36
¿Qué olor de código ocurre cuando un método accede más a otra clase que a la suya?
Envidia de características
37
¿Qué técnica se usa para dividir un método largo en varios más pequeños?
Extraer método
38
¿Qué técnica permite eliminar parámetros innecesarios en un método?
Eliminar parámetro
39
¿Qué patrón se usa para crear objetos sin especificar su clase exacta?
Factory Method
40
¿Qué patrón permite agregar responsabilidades a objetos en tiempo de ejecución?
Decorator
41
¿Qué patrón reduce las dependencias entre objetos centralizando la comunicación?
Mediator
42
¿Qué antipatrón representa una clase que hace demasiado?
God Object
43
¿Qué antipatrón consiste en usar código copiado y pegado en lugar de abstraer?
Copy-paste programming
44
¿Qué patrón permite construir objetos complejos paso a paso?
Builder
45
¿Qué estándar define la estructura de un documento de diseño de software (SDD)?
IEEE 1016
46
¿Cuál de los siguientes modelos está diseñado para empresas mexicanas?
Moprosoft
47
¿Qué patrón asegura que una clase tenga solo una instancia?
Singleton
48
¿Qué patrón crea familias de objetos relacionados sin especificar sus clases concretas?
Abstract Factory
49
¿Qué patrón permite clonar objetos sin depender de sus clases concretas?
Prototype
50
¿Qué patrón traduce una interfaz a otra para hacerlas compatibles?
Adapter
51
¿Qué patrón separa una abstracción de su implementación?
Bridge
52
¿Qué patrón comparte datos comunes para ahorrar memoria?
Flyweight
53
¿Qué patrón proporciona una interfaz simple a un subsistema complejo?
Facade
54
¿Qué patrón permite tratar objetos individuales y grupos de manera uniforme?
Composite
55
¿Qué patrón encapsula una solicitud como un objeto?
Command
56
¿Qué patrón notifica a múltiples objetos cuando otro cambia de estado?
Observer
57
¿Qué patrón define una serie de pasos en una operación, permitiendo redefinir algunos pasos?
Template Method
58
¿Qué patrón permite elegir dinámicamente entre varios algoritmos?
State
59
¿Qué componente del patrón MVC contiene las reglas de negocio y datos?
Model
60
En el patrón MVC, ¿qué parte es responsable de interactuar con el usuario?
View
61
¿Qué estilo arquitectónico utiliza servicios pequeños e independientes que se comunican por APIs?
Microservicios
62
¿Cuál es un ejemplo típico de arquitectura Cliente-Servidor?
Navegador web y servidor HTTP