ConstructiCat Logo
CodeBust.
Browse section ▾

Consolidar Fragmentos Condicionais Duplicados.

Problem

Código idêntico pode ser encontrado em todas as ramificações de um condicional.

Solution

Mova o código para fora do condicional.

##Example

Before
if (isSpecialDeal()) {
  total = price * 0.95;
  send();
}
else {
  total = price * 0.98;
  send();
}
After
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

  1. Se o código duplicado estiver no início das ramificações do condicional, mova-o para um ponto antes do condicional.

  2. Se o código for executado ao final das ramificações, coloque-o depois do condicional.

  3. 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.

  4. Se for apropriado e o código duplicado tiver mais de uma linha, tente usar Extrair Método.