Examen 1 Flashcards

(34 cards)

1
Q

Que es El refactoring?

A

Es mejorar El Codigo para adaptarse Al diseño sin cambiar su comportamiento

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

Es posible extender las funcionalidades Al hacer refactoring

A

No, El refactoring debe garantizar que El comportamiento del software sea el mismo antes y despues del refactoring

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

Objetivo del refactoring

A

Mejorar El diseño en terminos de simplicidad, claridad y duplication de codigo

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

Como se hace El refactoring?

A

Analizamos El diseño
Inspeccionamos
Seleccionamos El olor
Seleccionamos la refactorizacion para El olor
Aplicamos los micropasos
Verificamos que pasa las pruebas de calidad

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

Que es la complejidad ciclomatica?

A

Se basa en determinar El Numero de caminos logicos individuals contenios en un programa

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

Como se determina la complejidad ciclomatica?

A

Se inicia en 1 y se aumenta 1 por cada sentencia encontrada

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

Cual es la sentencia mas cara en terminos de complejidad ciclomatica

A

El switch case

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

Que es El indice de mantenibilidad?

A

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

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

A que nos referimos con mantenimiento?

A

Reparacion de defectos
Adicion de nuevas funcionalidades o characteristics a las aplicaciones del software

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

Es posible desarrollar Codigo y hacer refactoring Al mismo tiempo?

A

No

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

Como se le llaman a los sintomas de un mal diseño?

A

Olores

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

Principios de diseño

A

Separacion de responsabilidades
Alta cohesion es mejor
Bajo acoplamiento es mejor
Divide y venceras
Ocultamiento de informacion
encapsulamiento

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

Interfaz de un objeto

A

Conjunto de metodos que pueden ser accedidos a través de mensajes

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

Firma de un metodo

A

Corresponde al modificador de acceso, tipo de retorno, nombre del metodo,lista de parametros, excepciones y otros

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

Mensaje

A

Objeto destinatario, nombre del metodo, lista de parametros

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

Bajo que circunstancias incorporo una clase abstracta en un diseño

A

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

17
Q

Bajo que circunstancias es requerido incorporar un metodo abstracto en una clase

A

Cuando El metodo es de character general pero la implementacion cambia dependiendo de la subclase

18
Q

Bajo que circuntacias es requerido incorporar una java interface en un diseño

A

Cuando se establece un protocolo de comportamiento que puede ser implementado por otras clases no relacionadas

19
Q

Cuales son las implicaciones que tiene vincular una clase con una interfaz a través de una relacion de realizacion

A

La clase adquiere una deuda de implementacion del protocolo de comportamiento

20
Q

Bajo que circunstancias es requerido relacionar dos clases usando dependencia

A

Cuando exista Al menos un metodo en la clase A que reciba por parametro uno o mas objetos de tipo B

21
Q

Que es ligado estatico

A

Es El producto de UN mensaje, existe total certeza sobre cual metodo se debe ejecutar y ese vinculo se establece en tiempo de compilacion

22
Q

Que es ligado dinamico

A

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

23
Q

Que es polimorfismo

A

Cuando un mismo elemento se comporta diferente dependiendo del contextodonde se ejecuta

24
Q

Cual es El objetivo de que un metodo main tenga un parametro

A

Para poder establecer

25
Una alta cohesion implica un bajo acoplamiento?
Si
26
Que es El pensamiento divergente?
Es ver El problema desde multiples perspectivas y genera multiples soluciones
27
Que es El pensamiento convergente
Es El que evalua y selecciona la solucion basada en criterios
28
El metodo constructor y los estaticos se cuentan en la interfaz de esa clase vista desde Otra clase?
No, sin embargo El constructor si contaria si es visto desde la misma clase, es decir, no visto desde una clase externa
29
Que condiciones se deben cumplir para enviar mensajes entre clases?
Existe relacion de composicion, agregacion o dependencia y una interfaz no nula
30
Que es la sobreescritura?
Es cuando se vuelve a escribir un la subclase un metodo de la super clase
31
Cuando se habla del principio liskov substitution?
Cuando hablamos de jerarquia
32
El incumplimiento del LSP tambien incumple El OCP?
Si
33
Es posible enviar mensajes a clases abstractas o interfaces?
No, pero una clase abstracta si puede enviar mensajes
34
La fragilidad de un Codigo es producto de la rigidez?
Si