preguntas examen entornos de desarrollo und 4 cesur
|
|
Título del Test:
![]() preguntas examen entornos de desarrollo und 4 cesur Descripción: preguntas examen |



| Comentarios |
|---|
NO HAY REGISTROS |
|
Según Martin Fowler, ¿cuál es el objetivo principal de realizar una refactorización en el software?. A) Solucionar errores de ejecución ocultos y mejorar la eficiencia de los algoritmos. B) Hacer que el software sea más fácil de modificar y comprender sin alterar su comportamiento observable. C) Introducir la máxima flexibilidad posible mediante la sobrecarga de patrones de diseño anticipándose al futuro. ¿En qué se diferencia fundamentalmente una optimización de código de una refactorización?. A) La optimización altera el comportamiento observable del software y la refactorización no. B) La refactorización suele disminuir la complejidad del diseño, mientras que la optimización frecuentemente le añade complejidad. C) La refactorización se realiza de manera automática por el compilador y la optimización la hace siempre el programador. De acuerdo con Fowler, Piattini y García, ¿cuáles son las dos áreas más conflictivas a la hora de aplicar refactorización?. A) Las bases de datos y los cambios de interfaces. B) Los comentarios de código y los métodos de pocas líneas. C) El uso de entornos de desarrollo (IDE) y los sistemas de control de versiones. En el patrón de refactorización "Extraer método", ¿qué ocurre con el fragmento de código original seleccionado?. A) Se elimina por completo para aligerar el uso de memoria sin dejar rastro en el miembro original. B) Se mueve a una clase completamente nueva y se hereda de manera obligatoria. C) Se reemplaza por una llamada al nuevo método que contiene dicho fragmento de código. ¿Cuándo resulta especialmente problemático aplicar una refactorización sobre una interfaz según la literatura técnica?. A) Cuando se convierte en una "interfaz publicada" (published interface) y no tenemos acceso al código fuente de sus clientes. B) Cuando tenemos acceso directo al código fuente de todos y cada uno de los clientes de dicha interfaz. C) Cuando la interfaz no define ningún método y carece de herencia. ¿Cuál es el primer paso indispensable que se debe ejecutar en el proceso de refactorización según las buenas prácticas?. A) Modificar los nombres de las variables para que el compilador optimice la memoria. B) Ejecutar las pruebas automáticas antes de realizar cualquier cambio en el código fuente. C) Subir el código directamente al repositorio en la nube sin verificar de forma local. ¿Qué objetivo persigue el patrón de refactorización inverso a "Extraer método", conocido como "Método en línea" (Inline Method)?. A) Eliminar métodos innecesarios cuyo cuerpo es tan claro y evidente como su propio nombre. B) Forzar que el compilador ejecute todas las llamadas de manera asíncrona. C) Mudar todas las variables locales del método a la categoría de atributos globales. En la teoría de la refactorización, ¿qué significa el término "Código Muerto" (Dead Code)?. A) Código antiguo que genera excepciones graves y detiene el servidor. B) Código fuente que nunca se ejecuta ni se utiliza en ninguna parte de la aplicación. C) Líneas de código escritas exclusivamente en lenguaje ensamblador dentro de un proyecto Java. Al refactorizar, ¿cuál es la principal ventaja de contar con una suite completa de pruebas unitarias automatizadas?. A) Que el programa se vuelve inmune a fallos de hardware y cortes de red. B) Que el desarrollador obtiene retroalimentación inmediata sobre si los cambios estructurales han alterado la lógica funcional del programa. C) Que la velocidad de compilación del código en el IDE se duplica automáticamente. ¿En qué consiste el "olor de código" (code smell) conocido como "Clase Dios" (God Class) o Clase Grande?. A) Una clase que está perfectamente documentada según los estándares de Oracle. B) Una clase que asume demasiadas responsabilidades y sabe o hace casi todo en el sistema. C) Una clase que no se puede instanciar porque carece de métodos constructores públicos. ¿Cuál es la diferencia fundamental entre un sistema de control de versiones centralizado (como SVN) y uno distribuido (como Git)?. A) El centralizado guarda los archivos en un servidor y el distribuido no utiliza servidores de ningún tipo. B) En el centralizado existe un único repositorio con el historial; en el distribuido cada desarrollador tiene una copia local completa del repositorio con todo su historial. C) El centralizado solo admite almacenar archivos de texto plano y el distribuido admite imágenes y binarios. En herramientas de documentación automática de Java como JavaDoc, ¿para qué sirve específicamente la etiqueta @param?. A) Para definir las variables globales que se cargarán en la memoria al arrancar la aplicación. B) Para documentar e indicar el propósito de un argumento o parámetro que recibe un método. C) Para restringir el acceso de seguridad de un método y convertirlo en privado. Si estás utilizando JavaDoc y necesitas documentar lo que devuelve una función al terminar su ejecución, ¿qué etiqueta debes emplear?. A) @return. B) @output. C) @param. ¿Qué es un "Gestor Documental" en el contexto de la ingeniería de software y la gestión del conocimiento?. A) Un compilador avanzado que traduce diagramas UML a clases de Java de forma nativa. B) Una herramienta que permite capturar, almacenar, indexar y controlar las versiones de los documentos del proyecto. C) Un rol humano desempeñado por el analista principal de la empresa cliente. |




