Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Tarea1 Bad Smell - JavaBots

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Tarea1: Bad Smells - Large Class

Integrantes

1. Gerl Serelis Ethan Pierce


2. Lima Martinez Adamari Jhoreni
3. Lopez Soliz Lineth
4. Merida Ojalvo Daniel Fernando

1. En qué consiste el Bad Smell of Large Class


Se refiere a una clase que tiene demasiadas responsabilidades, está haciendo demasiado.
Generalmente contiene muchos campos,
métodos y líneas de código.
Estas clases son difíciles de entender,
mantener y controlar.

Una clase grande indica debilidades en el


diseño que posiblemente ralentice el
desarrollo y también aumenta la
posibilidad de fallas en el futuro.

2. Estrategias y Soluciones para una Large Class

- Extract class: Te permite mejorar tu programa , por eso debe dividirse


para que no sea demasiado largo y sea más legible.
2. Extract Subclass:El uso de esta técnica será útil cuando tengamos una clase
grande.
La larga lista de argumentos generalmente es un mal olor .
¿Cómo puedo evitar un Bad Smell en una Large Class ?
Lo mejor que puedes hacer es usar Refactoring, OJO la refactorización no
arregla código que no compile, al contrario mejora la calidad de tu código.

EJEMPLO:

Extract Class

Problema
Cuando una clase hace el trabajo de dos resulta incómodo.
Solución

En su lugar , cree una nueva clase y coloque los campos y


métodos responsables de la funcionalidad relevante en ella.

3. EJEMPLO:

Extract Class & Sub-class

a) Descripción
Se tiene una clase para crear cuentas bancarias, esta clase contiene todos los
atributos y métodos necesarios para generar cuentas, transacciones y personas,
pero además se extiende hasta unas 157 líneas de código, todo dentro de esta
única clase llamada “CuentaBancaria”.
b) Código con bad smell
c) Aplicación de la solución

i) Proceso de refactorización

● Crear una o varias clases y/o subclases de la clase de interés.

● Hacer la invocación al constructor de la superclase pasándole solo los datos


necesarios.
● Mover los métodos y atributos necesarios de la Superclase o clase a la
subclase (cambiar de acceso privado a protegido si vamos a hacer uso de un
atributo de la superclase).

● Hacer uso de métodos polimórficos y de herencia para optimizar el código.

● Las nuevas clases y subclases pueden agregar sus propios campos y


métodos además de heredar los atributos y métodos de la clase.

ii) Código refactorizado

Diagrama que muestra la extracción de clases y sub-clases.

iii) Desglosando algunas clases y sub-clases del código refactorizado


Clase CuentaBancaria

Sub-clase Corriente
Clase Transaccion

Sub-clase Transferencia

Sub-clase Deposito

Sub-clase Retiro

También podría gustarte