Ir al contenido

Refactorización/Método en línea

De Wikilibros, la colección de libros de texto de contenido libre.

Los métodos en línea es una técnica común utilizada en programación, es una aplicación directa de la definición de Refactoring en cuanto a la optimización de código cambiando su estructura interna sin afectar su funcionalidad, el caso específico del método en línea se presenta cuando tenemos un o más métodos cuyos códigos son lo suficientemente autoexplicativos como para poder prescindir de ellos. Bastará con sustituir las llamadas al método por el cuerpo de dicho método, aquí un ejemplo de ello:


     private void ElementoSalida(string x)
     {
        Console.WriteLine(x); //método que sirve para escribir por consola la variable que se le pase por parámetro
     }
     public IList<string> ConstruirListaYSalida(IEnumerable<string> x)
     { 
        IList<string> result = new List<string>();//instanciar la variable result en la clase IList
        foreach(string y in x)
        {
          result.Add(y);
          OutputItem(y);
        }
        return result;


se podría optar por modificar el código para evitar colocar repetidamente una llamada a ElementoSalida() en el método, por lo que sería más cómodo si hubiera escrito el código como el siguiente:


   public IList<string> BuildListAndOutput(IEnumerable<string> x)
   {
       IList<string> result = new List<string>();
       foreach(string y in x)
       {
           result.Add(y);
        // Todo el método de ElementoSalida se coloca Aquí
        Console.WriteLine(y);   
       }
       return result;
   }

En este caso, diríamos que la función de ElementoSalida() fue entre línea. Tenga en cuenta que podría hacer esto incluso si el ElementoSalida() se llama desde otros lugares así.

Referencias

[editar]
  1. http://es.softuses.com/61745
  2. http://www.youtube.com/watch?v=Itl67XWTi2Q
  3. http://recacha.wordpress.com/2012/08/16/refactoring-en-eclipse-2-inline-method/