Icono play
Java
Técnica extract method

Extract method o extraer método es una técnica de refactorización que se ocupa de crear un método usando un trozo de código que ya existía dentro del proyecto que se está desarrollando.

Este fragmento de código debe cumplir con una tarea específica que será la que sirva para darle el nombre a este nuevo método. No podemos perder de vista que la idea siempre es que cada método sea tan especializado en su tarea como sea posible. 

Luego, este método podrá ser empleado en cualquier lugar del programa donde se le necesite, haciendo la invocación del mismo como corresponde.

¿Cuándo aplicar la técnica extract method?

Si revisamos el código de nuestro proyecto o aplicación y observamos que hay métodos demasiado extensos, métodos que hacen más de una tarea o líneas de código sueltas que hacen una tarea, es el momento de aplicar la técnica extract method

Si un método requiere de un comentario explicativo extenso para que cualquiera que lea el código comprenda la tarea que este cumple, también es posible que necesitemos usar la técnica de extraer método.

¿Por qué utilizar la técnica extract method?

  • Los métodos pueden ser reutilizados cuantas veces sean necesarias a lo largo de todo el proyecto, así que es una oportunidad para simplificar nuestro trabajo como desarrolladores. 
  • El comprender esta técnica e implementarla con frecuencia, contribuirá a que creemos métodos más precisos a medida que mejoramos nuestras habilidades para programar.
  • Si construimos los métodos adecuadamente, no tendremos que escribir comentarios extensos porque su propio nombre mostrará la tarea que estos realizan.

Pasos para usar la técnica extract method

  • Examinar el código para determinar si se pueden unir instrucciones para construir métodos que aborden las tareas necesarias.
  • Si se extrae el método, es necesario que le demos un nombre adecuado que indique, sin ambigüedades, la actividad que esas líneas hacen dentro del programa. 
  • Ubicaremos las líneas de código que constituirán el nuevo método en el lugar donde deben ir.
  • Es el momento de revisar las variables necesarias para establecer si serán locales, temporales o de uso común para toda la clase.
  • Haremos la invocación del método extraído donde lo requiera el código fuente.
  • Finalmente, hay que hacer suficientes pruebas para comprobar que el resultado esperado se mantiene a pesar de haber extraído el método.

Ahora, veremos un ejemplo para comprender mejor cómo se puede aplicar la técnica extract method en un proyecto. 

package extraerMetodo;

public class Main {

    public static void main(String[] args) {

        int a = 1;
        int b = 2;

        /*aquí tenemos un código que está haciendo 
        algunos cálculos, que podría
        ser extraído en un método*/
        int c = a + b;
        int d = a + c;

        System.out.println("Valor de C: " + c);
        System.out.println("Valor de D: " + d);

    }
}

Ahora en este código hemos extraído el método que hace el trabajo de sumar dos números y devolver un resultado.

package extraerMetodo;

public class Main {

    public static void main(String[] args) {

        int a = 1;
        int b = 2;
        int c = sumar(a, b);
        int d = sumar(a, c);

        System.out.println("Valor de C: " + c);
        System.out.println("Valor de D: " + d);
    }

    /*creamos el método que retornará
    la suma de dos variables internas,
    su nombre muestra claramente
    la tarea que realiza*/

    static int sumar(int num1, int num2) {
        return num1 + num2;
    }
}

Como vemos:

  1. El método tiene un nombre que indica claramente cuál es su función dentro del programa.
  2. Podrá ser invocado las veces que sean necesarias dentro del código que estamos desarrollando.
¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: