MÓDULO 3 · ARQUITECTURA DE SISTEMAS CONVERSACIONALES · LECCIÓN 5.2 · 35 MIN

Configuración del Entorno de Desarrollo (DX)

Nivel básico-intermedio — Docker, linters, formatters y git hooks para maximizar la productividad del equipo.

Idea central "Funciona en mi máquina" es el síntoma de entornos no estandarizados. La Developer Experience impacta la productividad directamente: un entorno bien configurado elimina fricciones automatizando lo que antes dependía de la disciplina individual.

El problema

Situación típica: el desarrollador A escribe código con tabs y comillas simples; el B usa espacios y comillas dobles. Cada PR tiene 500 líneas de cambios de formato mezcladas con 10 líneas de lógica real. Code review es imposible. Merge conflicts constantes por formateo. // el problema no es de habilidad, es de falta de automatización

Docker para desarrollo

Elimina "funciona en mi máquina" garantizando que todos usan exactamente el mismo entorno: mismas versiones (Node, PostgreSQL, Redis), setup de un comando (docker-compose up), aislamiento sin contaminar el sistema local, y consistencia dev → staging → prod.

Linters y formatters

HerramientaFunciónDetecta
ESLintLinterErrores de lógica, malas prácticas, bugs potenciales
PrettierFormatterInconsistencias de estilo (tabs, comillas, punto y coma)
TypeScriptType checkerErrores de tipos
StylelintLinter CSSErrores y convenciones en estilos

Regla de oro: Prettier formatea, ESLint encuentra bugs. No uses ESLint para formateo — son herramientas con responsabilidades distintas, aunque ambas toquen el mismo código.

Git hooks

Scripts que se ejecutan automáticamente en eventos de git, moviendo la validación de la disciplina individual a la automatización:

HookCuándoQué hacer
pre-commitAntes del commitLint, format, tests rápidos
commit-msgAl escribir el mensajeValidar formato del mensaje
pre-pushAntes del pushTests completos
La automatización no sustituye el criterio

ESLint y Prettier atrapan inconsistencias mecánicas, pero no deciden si una función hace demasiado o si un nombre es claro. Los git hooks garantizan que lo automatizable se aplique siempre — no que el código sea bueno. Configurar esto bien libera al code review para discutir diseño, no espacios en blanco.

Practica: DX sobre el Walking Skeleton

Partiendo del Walking Skeleton de la lección anterior, agrega configuración completa de DX: ESLint + Prettier configurados para no pisarse entre sí, Husky para git hooks, y lint-staged para que el pre-commit solo revise los archivos modificados.