Consolidar Fragmentos Condicionais Duplicados.
Código idêntico pode ser encontrado em todas as ramificações de um condicional.
Mova o código para fora do 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
Código duplicado é encontrado dentro de todas as ramificações de um condicional, muitas vezes como resultado da evolução do código dentro das ramificações condicionais. O desenvolvimento em equipe pode ser um fator que contribui para isso.
##Benefits
- Eliminação de código duplicado.
##How to Refactor
-
Se o código duplicado estiver no início das ramificações do condicional, mova-o para um ponto antes do condicional.
-
Se o código for executado ao final das ramificações, coloque-o depois do condicional.
-
Se o código duplicado estiver situado aleatoriamente dentro das ramificações, primeiro tente mover o código para o início ou o fim da ramificação, dependendo de se isso altera o resultado do código subsequente.
-
Se for apropriado e o código duplicado tiver mais de uma linha, tente usar Extrair Método.