Preservar o Objeto Inteiro.
Você obtém vários valores de um objeto e depois os passa como parâmetros para um método.
Em vez disso, tente passar o objeto inteiro.
##Example
int low = daysTempRange.getLow();
int high = daysTempRange.getHigh();
boolean withinPlan = plan.withinRange(low, high);boolean withinPlan = plan.withinRange(daysTempRange);##Why Refactor
O problema é que, toda vez antes de o seu método ser chamado, os métodos do futuro objeto de parâmetro precisam ser chamados. Se esses métodos ou a quantidade de dados obtidos para o método forem alterados, você terá que encontrar cuidadosamente uma dúzia desses lugares no programa e implementar essas alterações em cada um deles.
Depois de aplicar essa técnica de refatoração, o código para obter todos os dados necessários ficará armazenado em um único lugar—o próprio método.
##Benefits
-
Em vez de uma mistura confusa de parâmetros, você vê um único objeto com um nome compreensível.
-
Se o método precisar de mais dados de um objeto, você não precisará reescrever todos os lugares onde o método é usado—apenas dentro do próprio método.
##How to Refactor
-
Crie no método um parâmetro para o objeto do qual você pode obter os valores necessários.
-
Agora comece a remover os antigos parâmetros do método um a um, substituindo-os por chamadas aos métodos correspondentes do objeto de parâmetro. Teste o programa após cada substituição de um parâmetro.
-
Exclua o código do getter do objeto de parâmetro que precedia a chamada do método.