G22: Dependencias Lógicas a Físicas
Nunca permitas que un módulo asuma silenciosamente un valor de otro — haz que cada dependencia sea explícita y declarada en el código.
El Problema de las Suposiciones Silenciosas
G22: Una dependencia lógica es una suposición que tu código hace sobre el estado de otro módulo sin declararla en el código. El módulo A usa una constante que asume está definida en el módulo B. Si B cambia esa constante, A falla silenciosamente en tiempo de ejecución, no en tiempo de compilación. Las dependencias lógicas son invisibles para el compilador, el linter y el revisor — son bugs esperando un cambio de versión.
Haciendo las Dependencias Explícitas
La regla: si la corrección de tu código depende de un valor, ese valor debe aparecer explícitamente en tu código — no asumirse. Estrategias: (1) pasar el valor como parámetro; (2) inyectar la dependencia; (3) importar desde un módulo de constantes compartidas. Cada constante duplicada es una dependencia lógica oculta esperando divergir.
Desafío de Código
Reemplaza las constantes duplicadas con una única fuente compartida importada por todos los módulos.
💡Conclusión clave
G22: Si la corrección de tu código depende de un valor, impórtalo — no lo asumas. Las dependencias lógicas son bugs invisibles; las dependencias físicas son hechos verificables.
🔧 Algunos ejercicios pueden tener errores. Si algo parece incorrecto, usa el botón Feedback (abajo a la derecha) para reportarlo — nos ayuda a corregirlo rápido.
Pista: Cada constante duplicada es una dependencia lógica oculta esperando divergir. Crea un módulo de constantes compartidas e impórtalo — esa línea de importación es la declaración física de la dependencia.
✗ Tu versión