¿Realmente sabes Refactorizar?

Primero definamos algunos conceptos:

  • Smell: Indicador de que algo podría estar mal en nuestro código ( mal diseño, responsabilidades incorrectas, etc).
    El lugar donde no queremos estar.
  • Refactoring: Cambios a la estructura interna del software con la finalidad de mejorarla y sin que se haya visto afectado su comportamiento.
    El camino hacia…
  • Pattern: Solución reutilizable a un problema que se presenta de manera común en el diseño de software.
    El lugar donde queremos estar.

Para cada uno de estos existen catálogos con listas innumerables, pero lo que no encontramos fácilmente es como aplicarlos correctamente. En este post nos vamos a enfocar en Refactoring y en algunas estrategias para su aplicación.

Las dos estrategias que veremos son: Paralell Change y Narrowed Change. Entonces, para que gastar más líneas si podemos verlo en el siguiente video:


Te recomiendo verlo en HD para una mejor calidad.

Para comprender cuál es la finalidad de todo esto les recomiendo ver “The Limited Red Society” del gran Joshua Kerievsky.

No se olviden de practicar sus refactorings y hasta el siguiente Post.
Saludos