Los números mágicos son números que aparecen en medio del código, y no se define el origen de ese valor en concreto. Se obvia un nombre que los describa. Si no conocemos la lógica de negocio, nos podemos bloquear pensando que significan esas cifras en medio de la nada.
Identificando Números Mágicos
var baseImponible = 12.5; var pvp = baseImponible + (baseImponible * 0.20);
Éste es un ejemplo con código sencillo. Identificamos a que nos referimos con el 0.20 por:
- El contexto que nos da el nombre de las variables
- No tenemos mucho código alrededor que nos intoxique la visión general del mismo.
Pero siempre no es así, y en medio de una densa maraña de código, nos puede costar identificar a que nos referimos.
Siguiendo las reglas de buenas practicas en código limpio, haremos un refactor del código anterior:
const PORCENTAJE_IVA = 0.20; function getIVA (baseImponible){ return baseImponible * PORCENTAJE_IVA; } function getPrecioVentaPublico(baseImponible){ return baseImponible + getIVA(baseImponible); } var baseImponible = 12.5; var precioVentaPublico = getPrecioVentaPublico(baseImponible);
Después del refactor realizado, sin conocer la lógica de negocio, podemos leer y entender perfectamente a que nos referimos en cada momento.
El 0.20 que antes no conocíamos a que nos referíamos, ahora es una constante. Su nombre nos define perfectamente a que se refiere durante el código. Además podremos reutilizarlo en más sitios durante el programa.
Recordad que las constantes se declaran con un nombre en mayúsculas, para diferenciarlas a simple vista de una variable.