Explicación del concepto
Refactorizar en Go se trata principalmente de hacer que el código sea más fácil de leer, probar y extender sin cambiar lo que hace. En esta lección, comenzarás con una función pequeña, luego la mejorarás eligiendo nombres más claros, separando responsabilidades y manteniendo el manejo de errores obvio. El objetivo no es hacer que el código sea ingenioso. El objetivo es hacerlo aburrido de la mejor manera: fácil de escanear, fácil de confiar y fácil de cambiar más tarde.
Dónde poner el código
- Define variables de color y posición en la parte superior.
- Crea lógica de dibujo o posicionamiento de formas en el medio.
- Renderiza la salida (impresión, `canvas`, `SVG` o bloque con estilo) al final.
Referencia de comandos
- Ejecuta el código inicial una vez, luego renombra cualquier cosa que parezca vaga antes de cambiar la lógica.
- Refactoriza en pequeños movimientos: un cambio de nombre, un cambio de estructura, luego prueba de nuevo.
- Verifica que la salida permanezca igual después de cada edición para que la refactorización sea segura.
- Prefiere funciones simples con un propósito claro en lugar de empaquetar todo en `main`.
Guía paso a paso
- Ejecuta la versión original primero para conocer el comportamiento actual antes de tocar el código.
- Busca una señal de desorden, como un nombre de función vago o responsabilidades mezcladas.
- Refactoriza solo una parte, luego ejecuta el programa de nuevo para confirmar que nada se rompió.
- Compara la primera versión y la versión limpia y explica cuál es más fácil de mantener.
- Termina con una breve lista de verificación: nombres legibles, funciones pequeñas y salida sin cambios.
Ejercicios prácticos
- Toma una función corta que mezcla cálculo e impresión, luego separa esas tareas.
- Reescribe un ejemplo pequeño usando nombres de parámetros más claros y explica por qué los nuevos nombres ayudan.
- Crea una segunda versión de la solución que sea más corta pero aún fácil de seguir para un principiante.
Retos de código
- Refactoriza un ejemplo ligeramente más grande con dos funciones auxiliares sin cambiar el resultado final.
- Mejora la estructura del código manteniendo el programa fácil de probar desde `main`.
Mini tareas de práctica
- Renombra una función para que su propósito sea obvio sin leer el cuerpo.
- Mueve una pieza de lógica repetida a una función auxiliar.
- Escribe una oración explicando lo que hace el código refactorizado.
Error común
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
Mini reto de la vida real
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.