Embutir Método.
Quando o corpo de um método é mais óbvio que o próprio método, use esta técnica.
Substitua as chamadas ao método pelo conteúdo do método e exclua o próprio método.
##Example
class PizzaDelivery {
// ...
int getRating() {
return moreThanFiveLateDeliveries() ? 2 : 1;
}
boolean moreThanFiveLateDeliveries() {
return numberOfLateDeliveries > 5;
}
}class PizzaDelivery {
// ...
int getRating() {
return numberOfLateDeliveries > 5 ? 2 : 1;
}
}##Why Refactor
Um método simplesmente delega para outro método. Em si, essa delegação não é problema. Mas, quando há muitos métodos assim, eles se tornam um emaranhado confuso e difícil de desvendar.
Muitas vezes os métodos não são tão curtos originalmente, mas acabam ficando assim à medida que alterações são feitas no programa. Portanto, não tenha receio de se livrar de métodos que já cumpriram seu papel.
##Benefits
- Ao minimizar o número de métodos desnecessários, você torna o código mais direto.
##How to Refactor
-
Certifique-se de que o método não é redefinido em subclasses. Se o método for redefinido, evite esta técnica.
-
Encontre todas as chamadas ao método. Substitua essas chamadas pelo conteúdo do método.
-
Exclua o método.