Preservar el Objeto Completo.
Obtienes varios valores de un objeto y después los pasas como parámetros a un método.
En lugar de eso, intenta pasar el objeto completo.
##Example
int low = daysTempRange.getLow();
int high = daysTempRange.getHigh();
boolean withinPlan = plan.withinRange(low, high);boolean withinPlan = plan.withinRange(daysTempRange);##Why Refactor
El problema es que, cada vez que se llama a tu método, antes hay que llamar a los métodos del futuro objeto parámetro. Si estos métodos o la cantidad de datos que se obtienen para el método cambian, tendrás que localizar cuidadosamente una docena de lugares así en el programa e implementar estos cambios en cada uno de ellos.
Después de aplicar esta técnica de refactorización, el código para obtener todos los datos necesarios estará almacenado en un único lugar: el propio método.
##Benefits
-
En lugar de un revoltijo de parámetros, ves un único objeto con un nombre comprensible.
-
Si el método necesita más datos de un objeto, no tendrás que reescribir todos los lugares donde se usa el método, sino únicamente el interior del propio método.
##How to Refactor
-
Crea un parámetro en el método para el objeto del que puedes obtener los valores necesarios.
-
Ahora empieza a eliminar los antiguos parámetros del método uno a uno, sustituyéndolos por llamadas a los métodos correspondientes del objeto parámetro. Prueba el programa después de sustituir cada parámetro.
-
Elimina el código del getter del objeto parámetro que precedía a la llamada al método.