20 Buenas Practicas y Optimizacion Flashcards

1
Q

¿Qué es el principio SOLID?

A

Un conjunto de principios de diseño de software para mejorar la mantenibilidad y escalabilidad.

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

¿Qué significa el principio de Responsabilidad Única (SRP)?

A

Una clase debe tener solo una razón para cambiar.

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

¿Qué es la inyección de dependencias?

A

Un patrón donde las dependencias se proporcionan externamente en lugar de ser creadas dentro de una clase.

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

¿Qué es el patrón Singleton?

A

Un patrón que garantiza que una clase tenga solo una instancia en toda la aplicación.

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

¿Por qué se recomienda evitar los métodos estáticos globales?

A

Porque dificultan las pruebas y la modularidad del código.

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

¿Qué es el patrón Factory?

A

Un patrón que encapsula la creación de objetos en un método o clase.

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

¿Qué significa DRY en programación?

A

Don’t Repeat Yourself: evitar duplicación de código.

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

¿Qué es el patrón Repository?

A

Un patrón que encapsula la lógica de acceso a datos en una capa intermedia.

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

¿Cómo se mejora el rendimiento en aplicaciones Java?

A

Usando estructuras de datos eficientes, evitando creaciones innecesarias de objetos y optimizando consultas a bases de datos.

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

¿Qué es la programación defensiva?

A

Un enfoque donde se anticipan y manejan posibles errores en el código.

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

¿Cómo se reduce el consumo de memoria en aplicaciones Java?

A

Liberando recursos, evitando memory leaks y usando correctamente colecciones como WeakHashMap.

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

¿Qué herramienta se usa para analizar rendimiento en Java?

A

VisualVM o JProfiler.

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

¿Cómo se pueden escribir pruebas efectivas?

A

Siguiendo el principio AAA (Arrange, Act, Assert).

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

¿Qué es un código limpio?

A

Código que es fácil de leer, comprender y modificar.

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

¿Cómo se documenta correctamente un proyecto en Java?

A

Usando Javadoc y buenas prácticas de comentarios.

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

¿Qué es la refactorización?

A

La mejora del código sin cambiar su comportamiento externo.

17
Q

¿Cómo evitar dependencias circulares?

A

Usando principios de diseño modular y aplicando inyección de dependencias.

18
Q

¿Qué es el principio KISS en programación?

A

Keep It Simple, Stupid: mantener el código lo más simple posible.

19
Q

¿Qué es el principio YAGNI?

A

You Aren’t Gonna Need It: no agregar funcionalidad innecesaria.

20
Q

¿Qué es el diseño basado en contratos?

A

Un enfoque donde las funciones definen claramente sus precondiciones y postcondiciones.