Consolidar fragmentos condicionales duplicados.
Se encuentra código idéntico en todas las ramas de un condicional.
Mueve el código fuera del condicional.
##Example
if (isSpecialDeal()) {
total = price * 0.95;
send();
}
else {
total = price * 0.98;
send();
}if (isSpecialDeal()) {
total = price * 0.95;
}
else {
total = price * 0.98;
}
send();##Why Refactor
Se encuentra código duplicado dentro de todas las ramas de un condicional, a menudo como resultado de la evolución del código dentro de las ramas del condicional. El desarrollo en equipo puede ser un factor que contribuya a esto.
##Benefits
- Eliminación de código duplicado.
##How to Refactor
-
Si el código duplicado está al principio de las ramas del condicional, mueve el código a un lugar antes del condicional.
-
Si el código se ejecuta al final de las ramas, colócalo después del condicional.
-
Si el código duplicado está situado de forma aleatoria dentro de las ramas, primero intenta mover el código al principio o al final de la rama, dependiendo de si altera el resultado del código posterior.
-
Si resulta apropiado y el código duplicado tiene más de una línea, prueba a usar Extraer método.