Antes de refactorizar
En algun momento si un proyecto de software vive lo suficiente va acumulando ciertos rasgos de ilegibilidad y deuda técnica que nos haran querer reescribirlo.
Antes de rafactorizar, preguntate lo siguiente:
- No puedes refactorizar o incluso modificar algo que no entiendes. Entonces primero familiarizate con el código que quieres cambiar haciendo diferentes tipos de pruebas para que descubras como funciona.
- No necesitas reescribir todo. Una cosa que te puede enseñar realizar pruebas es descubrir donde hay deuda técnica y donde se puede optimizar. Ahi donde sangra es donde se necesita sanar.
- Cambios pequeños son mejores que un gran cambio. Esto no solo aplica para refactorizar, también al momento de liberar nuevas caracteristicas.
- Una vez que hiciste cambios vuelve a probar las pruebas que hiciste al inicio. Añade nuevas pruebas si las existentes no funcionan y no te deshagas de las antiguas tanto por conocimiento como por consideración de que fueron creadas por alguna razón que quizas en el momento no entiendas.
- Preferencias personales y el ego son malos consejeros. ¿Quieres refactorizar solo porque el formateado o el estilo no te gusta pero es buen código y funciona? Si funciona, y lo sabes, no lo debes cambiar.
- Si tu razón de cambiarlo es para meter una nueva tecnología solo por su popularidad entonces necesitas hacer un analisis de costo beneficio para saber si de verda vale la pena el cambio.
- Todos nos equivocamos. A veces el querer reforactorizar no significa que se hara bien y en esos casos no debes torturarte, debes mantenerte con la cabeza fria y aprender de tus errores.