Examen 1 Flashcards
(34 cards)
Que es El refactoring?
Es mejorar El Codigo para adaptarse Al diseño sin cambiar su comportamiento
Es posible extender las funcionalidades Al hacer refactoring
No, El refactoring debe garantizar que El comportamiento del software sea el mismo antes y despues del refactoring
Objetivo del refactoring
Mejorar El diseño en terminos de simplicidad, claridad y duplication de codigo
Como se hace El refactoring?
Analizamos El diseño
Inspeccionamos
Seleccionamos El olor
Seleccionamos la refactorizacion para El olor
Aplicamos los micropasos
Verificamos que pasa las pruebas de calidad
Que es la complejidad ciclomatica?
Se basa en determinar El Numero de caminos logicos individuals contenios en un programa
Como se determina la complejidad ciclomatica?
Se inicia en 1 y se aumenta 1 por cada sentencia encontrada
Cual es la sentencia mas cara en terminos de complejidad ciclomatica
El switch case
Que es El indice de mantenibilidad?
Mide la facilidad de mantenimiento de una solucion de software
Se clasifica en:
Verde:entre 20 y 100
Amarillo: entre 10 y 19
Rojo: entre 0 y 9
A que nos referimos con mantenimiento?
Reparacion de defectos
Adicion de nuevas funcionalidades o characteristics a las aplicaciones del software
Es posible desarrollar Codigo y hacer refactoring Al mismo tiempo?
No
Como se le llaman a los sintomas de un mal diseño?
Olores
Principios de diseño
Separacion de responsabilidades
Alta cohesion es mejor
Bajo acoplamiento es mejor
Divide y venceras
Ocultamiento de informacion
encapsulamiento
Interfaz de un objeto
Conjunto de metodos que pueden ser accedidos a través de mensajes
Firma de un metodo
Corresponde al modificador de acceso, tipo de retorno, nombre del metodo,lista de parametros, excepciones y otros
Mensaje
Objeto destinatario, nombre del metodo, lista de parametros
Bajo que circunstancias incorporo una clase abstracta en un diseño
Una clase tiene relacion de realizacion con una interface y no provee total implementacion de los metodos de la interface
Tiene Al menos un metodo abstracto
Para evitar por las razones que fueran que una clase sea instanciada
Bajo que circunstancias es requerido incorporar un metodo abstracto en una clase
Cuando El metodo es de character general pero la implementacion cambia dependiendo de la subclase
Bajo que circuntacias es requerido incorporar una java interface en un diseño
Cuando se establece un protocolo de comportamiento que puede ser implementado por otras clases no relacionadas
Cuales son las implicaciones que tiene vincular una clase con una interfaz a través de una relacion de realizacion
La clase adquiere una deuda de implementacion del protocolo de comportamiento
Bajo que circunstancias es requerido relacionar dos clases usando dependencia
Cuando exista Al menos un metodo en la clase A que reciba por parametro uno o mas objetos de tipo B
Que es ligado estatico
Es El producto de UN mensaje, existe total certeza sobre cual metodo se debe ejecutar y ese vinculo se establece en tiempo de compilacion
Que es ligado dinamico
Es El producto de UN mensaje, no existe total certeza sobre cual metodo se debe ejecutar. Esa certeza se tiene hasta El tiempo de ejecucion
Que es polimorfismo
Cuando un mismo elemento se comporta diferente dependiendo del contextodonde se ejecuta
Cual es El objetivo de que un metodo main tenga un parametro
Para poder establecer