Quiz de Mantenibilidad del Software y Código Limpio

WellPositionedTurkey avatar
WellPositionedTurkey
·
·
Download

Start Quiz

Study Flashcards

46 Questions

¿Qué es la mantenibilidad del software?

La facilidad de modificar un software

¿Cuántos tipos de mantenimiento existen?

Cuatro

¿Por qué es importante la mantenibilidad en el negocio?

Es importante para un negocio sostenible

¿Qué es la refactorización?

El proceso de cambiar un sistema de software sin alterar su comportamiento externo

¿Qué beneficios tiene la refactorización?

Posibilita y facilita el mantenimiento del software

¿Qué son los 'code smells'?

Indicadores de un problema de diseño más profundo

¿Es recomendable hacer refactorización simultáneamente a otros cambios que afecten a la funcionalidad?

No

¿Qué es el análisis estático de código?

Una técnica para detectar 'code smells'

¿Cómo se beneficia la mantenibilidad de prácticas y guías sencillas?

Se beneficia al hacer que la mantenibilidad sea más fácil

¿Para qué se utiliza la técnica Replace method with method object?

Para extraer un método que accede a variables locales

¿Qué permite la técnica Extract Method?

Extraer fragmentos de código en un nuevo método

¿Cuáles son los cuatro tipos de mantenimiento de software?

Correctivo, adaptativo, perfectivo y preventivo

¿Qué son los 'code smells' en el contexto del software?

Indicadores de un problema de diseño más profundo que pueden tener un impacto negativo en la calidad del software

¿Por qué la refactorización no se debe hacer simultáneamente a otros cambios que afecten a la funcionalidad?

Porque puede introducir errores en el software

¿Por qué es importante escribir unidades de código cortas y simples para la mantenibilidad del software?

Porque son más fáciles de entender y modificar

¿Qué técnica se puede utilizar para eliminar el código duplicado?

Extract Method y Replace Parameter with Method

¿Cuál es la recomendación para mantener las interfaces pequeñas?

Limitar el número de parámetros por unidad a 4

¿Qué se recomienda para separar los asuntos en módulos separados?

Utilizar componentes arquitectónicos débilmente acoplados

¿Cuál es la recomendación para organizar el código en componentes arquitectónicos?

Entre 6 y 12 componentes de tamaños similares

¿Qué se recomienda para mantener la base de código pequeña?

Todas las anteriores son correctas

¿Qué se recomienda para automatizar las pruebas del código?

Java Junit

¿Qué se debe evitar al escribir código limpio?

Code smells

¿Para qué se utilizan las técnicas de refactorización?

Para reducir la deuda técnica

¿Qué es la deuda técnica?

La diferencia entre el coste de eliminar o reducir el impacto de un elemento de deuda técnica en un sistema software en un momento dado y el coste recurrente de no eliminar un elemento de deuda técnica sobre un cierto período de tiempo

¿Cómo se puede cuantificar la deuda técnica?

En términos de coste de refactorizar

¿Por qué es importante eliminar la deuda técnica?

Para mantener el software limpio y mantenible en el futuro

¿Qué técnica se puede utilizar para evitar la complejidad en el código?

Extract Method y descomposición de condicionales

¿Cuál es la técnica utilizada para eliminar el código duplicado?

Extract Method y REPLACE PARAMETER WITH METHOD

¿Qué técnica se puede utilizar para mantener las interfaces pequeñas?

INTRODUCE PARAMETER OBJECT y PRESERVE WHOLE OBJECT

¿Qué se debe hacer para separar los asuntos en módulos separados?

Definir claramente la interfaz de uso de la clase como un conjunto de métodos públicos

¿Qué se debe hacer para utilizar componentes arquitectónicos débilmente acoplados y equilibrados?

Organizar el código de manera que el número de componentes se encuentre entre 6 y 12 y sean de tamaños similares

¿Qué se debe hacer para mantener la base de código pequeña?

Evitar el crecimiento de la base del código fuente y utilizar técnicas como refactorización y división en microservicios

¿Qué se debe hacer para automatizar las pruebas del código?

Utilizar un entorno de pruebas, como Java Junit

¿Qué se debe hacer para escribir código limpio?

Evitar code smells y utilizar técnicas como Extract Method y captura de excepciones

¿Qué se debe hacer para utilizar técnicas de refactorización?

Reducir la deuda técnica, que es el coste de la deficiencia de la calidad del software

¿Qué es la deuda técnica?

El coste de la deficiencia de la calidad del software

¿Cómo se puede cuantificar la deuda técnica?

En términos de principal (coste de refactorizar) e interés (coste del mantenimiento en el futuro)

¿Cuál es el número máximo de parámetros por unidad que se recomienda mantener en las interfaces?

4

¿Qué técnica se puede utilizar para mantener las interfaces pequeñas?

Introduce parameter object y preserve whole object

¿Qué se debe hacer para lograr un acoplamiento débil entre los módulos?

Todas las anteriores

¿Cuál es el rango recomendado para el número de componentes arquitectónicos en el código?

Entre 6 y 12

¿Qué se debe evitar para mantener la base de código pequeña?

El crecimiento de la base del código fuente

¿Qué se recomienda para escribir código limpio?

Evitar code smells y utilizar técnicas como Extract Method y captura de excepciones

¿Qué se debe hacer para reducir la deuda técnica?

Utilizar técnicas de refactorización

¿Qué es la deuda técnica?

El coste de la deficiencia de la calidad del software

¿Cómo se puede cuantificar la deuda técnica?

En términos de principal e interés

Study Notes

Mantenibilidad del software

  1. La mantenibilidad del software se refiere a la facilidad de modificar un software.

  2. Existen cuatro tipos de mantenimiento: correctivo, adaptativo, perfectivo y preventivo.

  3. La mantenibilidad tiene un impacto en el negocio y se requiere para un negocio sostenible.

  4. La refactorización es el proceso de cambiar un sistema de software sin alterar su comportamiento externo.

  5. La refactorización posibilita y facilita el mantenimiento del software.

  6. Los "code smells" son indicadores de un problema de diseño más profundo y pueden tener un impacto negativo en la calidad del software.

  7. La refactorización no se debe hacer simultáneamente a otros cambios que afecten a la funcionalidad.

  8. El análisis estático de código es una técnica para detectar "code smells".

  9. La mantenibilidad se beneficia de prácticas y guías sencillas.

  10. Escribir unidades de código cortas y simples es una práctica importante para la mantenibilidad.

  11. La técnica Extract Method permite extraer fragmentos de código en un nuevo método.

  12. La técnica Replace method with method object se utiliza para extraer un método que accede a variables locales.10 Principios de Código Limpio

  13. Solucionar problemas de estructuras de datos mediante el uso de EEDD Map.

  14. Usar la técnica de descomposición de condicionales para simplificar sentencias complejas.

  15. Evitar la duplicación de código mediante la escritura de código reutilizable y genérico.

  16. Mantener las interfaces pequeñas limitando el número de parámetros a 4 y utilizando técnicas de refactorización como INTRODUCE PARAMETER OBJECT, PRESERVE WHOLE OBJECT y REPLACE PARAMETER WITH METHOD.

  17. Separar asuntos en clases para lograr un acoplamiento débil entre módulos y asignar responsabilidades a módulos separados.

  18. Tratar de obtener un nivel de acoplamiento débil entre los componentes de alto nivel para facilitar el mantenimiento aislado.

  19. Equilibrar el número y tamaño relativo de los componentes de alto nivel del código.

  20. Mantener la base de código pequeña para evitar el crecimiento y estandarizar la funcionalidad.

  21. Automatizar las pruebas del código y utilizar un entorno de pruebas como Java Junit.

  22. Escribir código limpio evitando code smells, comentarios ininteligibles, código inalcanzable, identificadores largos, excepciones sin capturar y utilizando técnicas de refactorización. Además, se debe tener en cuenta la deuda técnica, que es la diferencia entre el costo de eliminar o reducir el impacto de un elemento de deuda técnica en un sistema software y el costo recurrente de no eliminarlo.

Consejos para escribir código limpio y mantenible

  1. Evitar la complejidad en el código, utilizando técnicas como Extract Method y descomposición de condicionales.
  2. Eliminar el código duplicado, utilizando técnicas de refactorización como Extract Method y REPLACE PARAMETER WITH METHOD.
  3. Mantener las interfaces pequeñas, limitando el número de parámetros por unidad a 4 y utilizando técnicas como INTRODUCE PARAMETER OBJECT y PRESERVE WHOLE OBJECT.
  4. Separar los asuntos en módulos separados para lograr un acoplamiento débil entre ellos, y definir claramente la interfaz de uso de la clase como un conjunto de métodos públicos.
  5. Utilizar componentes arquitectónicos débilmente acoplados y equilibrados, organizando el código de manera que el número de componentes se encuentre entre 6 y 12 y sean de tamaños similares.
  6. Mantener la base de código pequeña, evitando el crecimiento de la base del código fuente y utilizando técnicas como refactorización y división en microservicios.
  7. Automatizar las pruebas del código utilizando un entorno de pruebas, como Java Junit.
  8. Escribir código limpio, evitando code smells y utilizando técnicas como Extract Method y captura de excepciones.
  9. Utilizar técnicas de refactorización para reducir la deuda técnica, que es el coste de la deficiencia de la calidad del software.
  10. La deuda técnica hace visible la diferencia entre el coste de eliminar o reducir el impacto de un elemento de deuda técnica en un sistema software en un momento dado y el coste recurrente de no eliminar un elemento de deuda técnica sobre un cierto período de tiempo.
  11. La deuda técnica puede ser cuantificada en términos de principal (coste de refactorizar) e interés (coste del mantenimiento en el futuro).
  12. La eliminación de la deuda técnica es importante para mantener el software limpio y mantenible en el futuro.

Consejos para escribir código limpio y mantenible

  1. Evitar la complejidad en el código, utilizando técnicas como Extract Method y descomposición de condicionales.
  2. Eliminar el código duplicado, utilizando técnicas de refactorización como Extract Method y REPLACE PARAMETER WITH METHOD.
  3. Mantener las interfaces pequeñas, limitando el número de parámetros por unidad a 4 y utilizando técnicas como INTRODUCE PARAMETER OBJECT y PRESERVE WHOLE OBJECT.
  4. Separar los asuntos en módulos separados para lograr un acoplamiento débil entre ellos, y definir claramente la interfaz de uso de la clase como un conjunto de métodos públicos.
  5. Utilizar componentes arquitectónicos débilmente acoplados y equilibrados, organizando el código de manera que el número de componentes se encuentre entre 6 y 12 y sean de tamaños similares.
  6. Mantener la base de código pequeña, evitando el crecimiento de la base del código fuente y utilizando técnicas como refactorización y división en microservicios.
  7. Automatizar las pruebas del código utilizando un entorno de pruebas, como Java Junit.
  8. Escribir código limpio, evitando code smells y utilizando técnicas como Extract Method y captura de excepciones.
  9. Utilizar técnicas de refactorización para reducir la deuda técnica, que es el coste de la deficiencia de la calidad del software.
  10. La deuda técnica hace visible la diferencia entre el coste de eliminar o reducir el impacto de un elemento de deuda técnica en un sistema software en un momento dado y el coste recurrente de no eliminar un elemento de deuda técnica sobre un cierto período de tiempo.
  11. La deuda técnica puede ser cuantificada en términos de principal (coste de refactorizar) e interés (coste del mantenimiento en el futuro).
  12. La eliminación de la deuda técnica es importante para mantener el software limpio y mantenible en el futuro.

¿Estás interesado en aprender sobre la mantenibilidad del software y los principios de código limpio? ¡Este quiz es para ti! A través de preguntas interesantes y desafiantes, podrás evaluar tu conocimiento sobre la facilidad de modificar un software, los tipos de mantenimiento, la refactorización, los "code smells" y las técnicas para lograr un código limpio y sostenible. ¡No te pierdas la oportunidad de poner a

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Quiz
5 questions
Quiz de Pisco
5 questions

Quiz de Pisco

LuxuriantMeadow avatar
LuxuriantMeadow
Use Quizgecko on...
Browser
Browser