Parametrizar Método.
Múltiplos métodos realizam ações semelhantes que diferem apenas em seus valores internos, números ou operações.
Combine esses métodos usando um parâmetro que passará o valor especial necessário.
##Example
##Why Refactor
Se você tem métodos semelhantes, provavelmente tem código duplicado, com todas as consequências que isso acarreta.
Além disso, se você precisar adicionar mais uma versão dessa funcionalidade, terá que criar mais um método. Em vez disso, você poderia simplesmente executar o método existente com um parâmetro diferente.
##How to Refactor
-
Crie um novo método com um parâmetro e mova para ele o código que é igual para todas as classes, aplicando Extrair Método. Observe que às vezes apenas uma determinada parte dos métodos é realmente igual. Nesse caso, a refatoração consiste em extrair apenas a parte igual para um novo método.
-
No código do novo método, substitua o valor especial/diferente por um parâmetro.
-
Para cada método antigo, encontre os lugares onde ele é chamado, substituindo essas chamadas por chamadas ao novo método que incluem um parâmetro. Em seguida, exclua o método antigo.