rachelcarmena / code-smells

4 stars 9 forks source link

Code Smell Switch Statement #3

Open miglcesp01 opened 4 years ago

miglcesp01 commented 4 years ago

Clase : Tenant Code Smell: Switch Statement • Problema presente

  1. Elimina dependencia en los casos. Si se agrega otro tipo de Tenant se debería agregar mas casos al switch statement.
  2. Implementacion expuesta al cliente. • Beneficios de Refactorizar
  3. Cumple el principio Solid Open/Closed Principle.
  4. Mejora la adherencia al Single Responsability Principle y hace el programa mas legible.
  5. Esto puede ayudar a enmascarar el propósito/implementación de métodos Sección B Clase Tenant

image

Sección C Técnica de Refactorización: Replace Type Code with Strategy Como vemos un code smell en el switch entonces vemos que se repiten los tipos de TenantType para realizar una misma actividad categorizada por su tipo por lo que mejor creamos cada tipo de Tenant para agragar modularizacion al código y en el método que tiene el code smell encapsulara su implementación al cliente.

image

Clase Abstracta TenantType

image

Clases que heredan de TenantType e implementan el método calculateDepositAfterRenting(int deposit)

image image

image

rachelcarmena commented 4 years ago

Hola @miglcesp01 :raised_hands:

Discúlpame, pero no entiendo muy bien el propósito de estos issues. Por favor, ¿podrías darme más información? Tal vez son para un uso particular...

¡¡ Gracias de antemano !!