Método en Línea.
Cuando el cuerpo de un método es más evidente que el propio método, usa esta técnica.
Sustituye las llamadas al método por el contenido del método y elimina el propio 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
Un método simplemente delega en otro método. En sí misma, esta delegación no supone ningún problema. Pero cuando hay muchos métodos de este tipo, se convierten en una maraña confusa difícil de desenredar.
A menudo los métodos no son demasiado cortos en un principio, pero acaban siéndolo a medida que se hacen cambios en el programa. Así que no tengas reparos en deshacerte de los métodos que han dejado de ser útiles.
##Benefits
- Al minimizar el número de métodos innecesarios, haces que el código sea más directo.
##How to Refactor
-
Asegúrate de que el método no esté redefinido en subclases. Si el método está redefinido, abstente de usar esta técnica.
-
Encuentra todas las llamadas al método. Sustituye estas llamadas por el contenido del método.
-
Elimina el método.