Flujos de Trabajo Avanzados
Patrones para proyectos complejos. Code reviews, refactoring, migraciones y flujos de trabajo de nivel producción.
Contenido de Curso Premium
Esta lección es parte de un curso premium. Mejora a Pro para desbloquear todos los cursos premium y su contenido.
- Acceso a todos los cursos premium
- Más de 1000 plantillas de skills de IA incluidas
- Contenido nuevo cada semana
Subiendo de Nivel
🔄 Repaso rápido: En la lección anterior, aprendimos a integrar Bash con Claude Code para crear feedback loops inteligentes. Ahora vamos a combinar todo lo que sabemos — contexto, orquestación, archivos y Bash — en flujos de trabajo avanzados de nivel profesional.
Ya conoces los fundamentos. Ahora veamos cómo combinarlos para desarrollo real.
Estos flujos de trabajo representan cómo los profesionales realmente usan Claude Code para trabajo serio.
Flujo: Refinamiento Progresivo
En vez de intentar obtener código perfecto de un tiro, construye iterativamente.
Fase 1: Implementación Funcional
> Crea una función para fetchear datos de usuario de la API y cachearlos.
> Enfócate en que funcione. No te preocupes por edge cases todavía.
Primero consigue algo funcional.
Fase 2: Agregar Tests
> Ahora agrega tests para esta función. Cubre:
> - Fetch exitoso
> - Error de red
> - Respuesta inválida
> - Cache hit
Tests antes de refinar.
Fase 3: Edge Cases
> Ahora mejora la implementación:
> - Maneja rate limiting
> - Agrega lógica de retry con backoff
> - Maneja respuestas parciales
Mejoras dirigidas.
Fase 4: Hardening para Producción
> Revisa para que esté listo para producción:
> - Mensajes de error apropiados
> - Logging
> - Type safety
> - Documentación
Pulido final.
Por qué funciona: Cada fase tiene una meta clara. Verificas en cada paso. Los problemas se atrapan temprano.
Flujo: Compañero de Code Review
Usa a Claude como reviewer de código antes de abrir PRs.
/add $(git diff --name-only main)
> Revisa estos cambios como si fueras un developer senior.
> Enfócate en:
> - Errores de lógica
> - Edge cases que podrían faltar
> - Preocupaciones de rendimiento
> - Problemas de seguridad
> Señala cualquier cosa que te preocupe.
Claude atrapa problemas antes de que tus compañeros de equipo lo hagan.
Patrones de seguimiento:
> Buena observación sobre el riesgo de SQL injection. Arréglalo.
> Ese edge case que mencionaste — agrega un test para él.
> Agrega manejo de errores para los escenarios que identificaste.
Flujo: Refactor a Gran Escala
Refactorizar a través de muchos archivos necesita estructura.
Paso 1: Planear
> Necesitamos convertir todo el código async basado en callbacks a async/await.
> Primero, escanea el codebase y lista todos los archivos que necesitan cambio.
> Agrúpalos por complejidad (simple, moderado, complejo).
Paso 2: Crear Guía de Migración
> Crea un archivo markdown mostrando ejemplos de antes/después para nuestros
> patrones. Esto será la referencia para el refactor.
Paso 3: Ejecutar en Chunks
# Sesión 1
/add src/utils/*.js
> Convierte estos archivos a async/await. Sigue la guía de migración.
# Verificar
> Corre los tests para estos archivos.
# Sesión 2
/clear
/add src/services/*.js
> Convierte estos archivos a async/await. Mismos patrones.
# Continúa chunk por chunk...
Paso 4: Verificar Completitud
> Busca en el codebase patrones de callback restantes.
> Lista archivos que se nos hayan pasado.
Flujo: Desarrollo con TDD
Claude es excelente en TDD cuando estructuras el flujo de trabajo.
> Estamos agregando un calculador de total para el carrito de compras.
> Primero, escribe los tests. Considera:
> - Carrito vacío
> - Un solo artículo
> - Múltiples artículos
> - Descuentos
> - Cálculo de IVA
> - Redondeo de moneda
> No implementes todavía — solo tests.
Revisa los tests. Luego:
✅ Revisión Rápida: ¿Por qué es mejor escribir los tests ANTES de la implementación cuando trabajas con Claude?
> Ahora implementa para que todos los tests pasen.
Luego:
> Corre los tests. Arregla cualquier fallo.
Flujo: Entender Código Legacy
Cuando heredas código desconocido:
Paso 1: Vista General
/add README.md package.json src/index.js
> Dame una visión general de alto nivel de este proyecto.
> ¿Cuál es el tech stack? ¿Cuál es el propósito principal?
Paso 2: Arquitectura
/add src/*.js
> Mapea la arquitectura. ¿Cuáles son los módulos principales?
> ¿Cómo se conectan?
Paso 3: Deep Dive
/add src/core/*.js
> Esto parece ser la lógica core. Explícame cómo funciona.
Paso 4: Documentar
> Crea un ARCHITECTURE.md documentando lo que descubrimos.
Flujo: Desarrollo con Feature Flags
Para features que necesitan poder activarse y desactivarse:
> Implementa la nueva feature de búsqueda detrás de un feature flag.
> Requisitos:
> - Nombre del flag: NEW_SEARCH_ENABLED
> - Default: false
> - Que se pueda hacer rollout gradual
> - Fácil de remover después cuando esté 100% lanzado
Luego más adelante:
> El feature flag NEW_SEARCH_ENABLED está ahora al 100%.
> Remueve el flag y limpia el code path viejo.
Flujo: Debugging Patito de Hule
A veces necesitas que Claude piense contigo, no por ti.
> Estoy atorado con este bug de autenticación.
> Déjame explicarte lo que creo que está pasando, y dime
> si mi lógica tiene huecos.
[Explica tu entendimiento]
> ¿Qué me estoy perdiendo? ¿Dónde podrían estar mal mis suposiciones?
Claude frecuentemente encuentra la falla en tu razonamiento.
Variación: Code Walkthrough
/add src/logica-compleja.js
> Camina por este código como si le explicaras a un developer junior.
> Quiero verificar que lo entiendo correctamente.
Flujo: Respuesta a Incidentes en Producción
Cuando algo se rompe:
> Tenemos un problema en producción. Los usuarios ven errores 500
> en el checkout. Ayúdame a investigar. Esto es lo que sabemos:
> [Pega logs de error]
/add src/checkout/*.js
> ¿Qué podría causar este error?
Luego:
> Probemos hipótesis 1: problema de conexión a base de datos.
> ¿Qué comandos debería correr para verificar?
> Eso sale bien. Ahora hipótesis 2: race condition en la verificación
> de inventario. Explícame cómo podría pasar esto.
Debugging sistemático con asistencia de IA.
Flujo: Cambios Cross-Codebase
Para cambios que abarcan múltiples repositorios:
# En el repo de API
> Estamos agregando un nuevo campo "phoneNumber" a la respuesta de User.
> Actualiza la API para incluirlo.
# En el repo de frontend (nueva sesión)
/clear
> La API ahora devuelve "phoneNumber" en el objeto User.
> Actualiza el frontend para mostrarlo en la página de perfil.
# En el repo de mobile (nueva sesión)
/clear
> La API ahora devuelve "phoneNumber" en el objeto User.
> Actualiza la app móvil para manejarlo.
Claude no comparte contexto entre sesiones, pero puedes describir el cambio cross-repo en cada una.
Conclusiones Clave
- Refinamiento progresivo: funcional → testeado → endurecido
- Usa a Claude como code reviewer antes de PRs
- Estructura refactors grandes: planear → dividir → verificar → repetir
- Flujo TDD: tests primero, luego implementar
- Patito de hule con Claude para encontrar huecos de lógica
- Ajusta la complejidad de tu flujo de trabajo a la complejidad de la tarea
Última lección: junta todo en un proyecto final.
Siguiente: En la próxima lección, nos sumergiremos en el Proyecto Final: Construye una Feature Completa.
Comprobación de Conocimientos
Primero completa el quiz de arriba
¡Lección completada!