Refactorización/Método en línea

De Wikilibros, la colección de libros de texto de contenido libre.
Ir a la navegación Ir a la búsqueda

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 especifico del método en linea se presenta cuando tenemos un o mas métodos cuyos códigos son lo suficientemente auto-explicativos 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 mas 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/