20 Buenas Practicas y Optimizacion Flashcards
¿Qué es el principio SOLID?
Un conjunto de principios de diseño de software para mejorar la mantenibilidad y escalabilidad.
¿Qué significa el principio de Responsabilidad Única (SRP)?
Una clase debe tener solo una razón para cambiar.
¿Qué es la inyección de dependencias?
Un patrón donde las dependencias se proporcionan externamente en lugar de ser creadas dentro de una clase.
¿Qué es el patrón Singleton?
Un patrón que garantiza que una clase tenga solo una instancia en toda la aplicación.
¿Por qué se recomienda evitar los métodos estáticos globales?
Porque dificultan las pruebas y la modularidad del código.
¿Qué es el patrón Factory?
Un patrón que encapsula la creación de objetos en un método o clase.
¿Qué significa DRY en programación?
Don’t Repeat Yourself: evitar duplicación de código.
¿Qué es el patrón Repository?
Un patrón que encapsula la lógica de acceso a datos en una capa intermedia.
¿Cómo se mejora el rendimiento en aplicaciones Java?
Usando estructuras de datos eficientes, evitando creaciones innecesarias de objetos y optimizando consultas a bases de datos.
¿Qué es la programación defensiva?
Un enfoque donde se anticipan y manejan posibles errores en el código.
¿Cómo se reduce el consumo de memoria en aplicaciones Java?
Liberando recursos, evitando memory leaks y usando correctamente colecciones como WeakHashMap.
¿Qué herramienta se usa para analizar rendimiento en Java?
VisualVM o JProfiler.
¿Cómo se pueden escribir pruebas efectivas?
Siguiendo el principio AAA (Arrange, Act, Assert).
¿Qué es un código limpio?
Código que es fácil de leer, comprender y modificar.
¿Cómo se documenta correctamente un proyecto en Java?
Usando Javadoc y buenas prácticas de comentarios.
¿Qué es la refactorización?
La mejora del código sin cambiar su comportamiento externo.
¿Cómo evitar dependencias circulares?
Usando principios de diseño modular y aplicando inyección de dependencias.
¿Qué es el principio KISS en programación?
Keep It Simple, Stupid: mantener el código lo más simple posible.
¿Qué es el principio YAGNI?
You Aren’t Gonna Need It: no agregar funcionalidad innecesaria.
¿Qué es el diseño basado en contratos?
Un enfoque donde las funciones definen claramente sus precondiciones y postcondiciones.