La refactorización, o en inglés refactoring, es:
- Una limpieza de código, básicamente
- La refactorización no arregla errores ni incorpora funcionalidades
- Altera la estructura interna del código sin cambiar su comportamiento externo
- Si durante una refactorización se ha cambiado el comportamiento del software o web, es que has generado un error o bug
Sus objetivos pueden ser:
- Mejorar la facilidad de comprensión del código
- Cambiar su estructura y diseño
- Eliminar código muerto
- Facilitar el mantenimiento en el futuro
Ejemplo: identificar claramente los elementos
Quizá has llamado “t” a una expresión. Puedes asignarle un nombre con más significado: “tiempo”.
Ejemplo en CSS: usar una paleta reducida de colores
Quizá en tu web te has emocionado y le has dado decenas de tonos de colores:
Como indica Tim, es preferible escoger una paleta sencilla de color y jugar con ella:
De hecho, existen sitios que te ayudan a escoger diferentes combinaciones de colores.
Ejemplo: dividir responsabilidades
Imagina que tienes un código que calcula el precio de una cesta de la compra y, en el mismo código, estás realizando la suma y aplicando dos o más tipos de descuentos: por haber comprado más de cinco productos, un 2×1 en galletas, etc.
En lugar de tener una única función para realizar todo, es mejor contar con una función para cada responsabilidad: una para cada tarea.
En el blog Get Laura (¡me encanta el título!), podéis encontrar ejemplos de refactorización en Ruby.
Más información
- Refactorización en la Wikipedia
- Refactoring in Ruby (inglés)
- When to refactor (inglés)
Imágenes: Martin Fowler y /dev/solita
Leave a Reply