Refactoring

«Modificar el código para que cambie la forma que esta codificado sin que cambie su comportamiento. Mantenga la misma funcionalidad y que su implementación sea la diferente». Martin Fowler.

Lo recomendable es hacer refactor 30 minutos cada día al empezar la jornada. Mirar los nombres de las variables, métodos o clases que nombraste ayer es muy interesante. Buscamos código que tenemos que tocar por que tenga bugs o cualquier otra cuestión y vamos a aprovechar para refactorizarlo.

Si ha una parte que funciona, algo que se está utilizando hace años y no ha dado ningún problema, no lo toques.

Prestar atención a los puntos de ejecución comunes, condicionales, mutación de estados o dependencias, estos puntos son propensos que haya errores al refactorizar. Hay que tener tests antes de refactorizar.

Hacer los cambios uno a uno, ser metódico en esto y cada cambio que hagas, hacer un commit para guardar puntos de restauración seguros.

En legacy code apoyarse en pair programming para obtener un resultado mucho mejor.

Extraer alguna funcionalidad en métodos más pequeños que hagan una sola cosa nos ayudará a entender mejor y poder mantener mejor en el futuro nuestro código.

Fuente: Podcast Ni cero, ni uno