Codigo limpio y refactorización
✅ 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.
🔴 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.
1public class Descuento { 2 public double calcularPrecioFinal(double precioBase) { 3 return precioBase * 0.9; // ¿Qué significa 0.9? 4 } 5}
✅ 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.
1public class Descuento { 2 private static final double DESCUENTO_CLIENTE = 0.9; // 10% de descuento 3 4 public double calcularPrecioFinal(double precioBase) { 5 return precioBase * DESCUENTO_CLIENTE; 6 } 7}
🔹 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.
1if (tipoUsuario.equals("ADMIN")) { 2 // Acceso permitido 3}
✅ Buena práctica con constantes
- Evita errores tipográficos.
- Fácil modificación si el rol cambia.
- Mayor legibilidad y coherencia.
1public class Usuario { 2 public static final String ADMIN_ROLE = "ADMIN"; 3 4 public boolean tieneAcceso(String tipoUsuario) { 5 return ADMIN_ROLE.equals(tipoUsuario); 6 } 7}
📌 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.