Uso de constantes en lugar de valores mágicos
1. Buena práctica: #
Se recomienda evitar valores mágicos (números, strings o valores sin contexto en el código) y usar constantes con nombres descriptivos. Esto mejora la legibilidad, mantenibilidad y evita errores difíciles de detectar.
2. 2. Problema con valores mágicos (Mala práctica) #
- No es claro qué representa
0.9(un descuento, un ajuste, un impuesto, etc.). - Si se necesita cambiar el valor en varios lugares, hay riesgo de errores al actualizarlo.
- El código pierde contexto y se vuelve más difícil de mantener.
Cargando actividad al acercarte…
3. 3. Solución: Usar constantes con nombres significativos #
- Mayor legibilidad: Ahora
DESCUENTO_CLIENTEdeja claro qué representa0.9. - Fácil mantenimiento: Si el descuento cambia, solo se modifica en un solo lugar.
- Evita errores: Reduce la posibilidad de asignar valores incorrectos.
Cargando actividad al acercarte…
4. 4. Otro Ejemplo con Strings #
Mala práctica con valores mágicos #
- Error tipográfico difícil de detectar.
- Falta de coherencia si "ADMIN" cambia en varias partes del código.
- No es reutilizable.
Cargando actividad al acercarte…
Buena práctica con constantes #
- Evita errores tipográficos.
- Fácil modificación si el rol cambia.
- Mayor legibilidad y coherencia.
Cargando actividad al acercarte…
5. 5. Reglas generales #
- Define constantes en la parte superior del archivo o en un módulo centralizado.
- Usa nombres descriptivos y en mayúsculas (
MAX_INTENTOS,ADMIN_ROLE,DESCUENTO_CLIENTE). - No declares constantes dentro de funciones si pueden ser reutilizadas.
- Si un valor se usa en varios lugares, conviértelo en una constante.
🚀 Conclusión: Evita los valores mágicos y usa constantes bien nombradas para hacer tu código más claro, mantenible y libre de errores.
Resumen del tema
Conceptos clave #
- Números y Strings Mágicos: valores literales numéricos o cadenas de texto incrustados directamente en el código sin explicación contextual.
- Problemas Asociados: falta de claridad semántica, riesgo de erratas tipográficas y dificultad para actualizar valores replicados en múltiples archivos.
- Sustitución por Constantes / Enums: extracción de literales a constantes con nombres descriptivos en mayúsculas (
MAX_INTENTOS,DESCUENTO_VIP) o enumeraciones tipadas. - Centralización: ubicación de valores constantes compartidos en archivos de configuración o módulos dedicados para facilitar cambios globales.
Qué debes recordar #
Reemplaza cualquier número o texto con significado de negocio por una constante descriptiva para evitar errores y explicar el porqué de ese valor.