En un proyecto reciente, necesitaba convertir de bytes a kilobytes kibibyte . El código era bastante sencillo:
var kBval = byteVal / 1024;
Después de escribir eso, obtuve el resto de la función trabajando & siguió adelante.
Pero más tarde, comencé a preguntarme si acababa de insertar un número mágico dentro de mi código . Una parte de mí dice que estaba bien porque el número es una constante fija y debería entenderse fácilmente. Pero otra parte de mí piensa que habría sido súper claro si se envolviera en una constante definida como BYTES_PER_KBYTE
.
¿Entonces los números que son constantes bien conocidas son realmente mágicos o no?
Preguntas relacionadas:
¿Cuándo es un número un número mágico? y ¿Cada número en el código se considera una "magia"? número "? - son similares, pero son preguntas mucho más amplias de lo que estoy preguntando. Mi pregunta se centra en números constantes conocidos que no se abordan en esas preguntas.
Eliminando los números mágicos: ¿Cuándo es ¿El tiempo para decir "No"? también está relacionado, pero se enfoca en refactorizar en oposición a si un número constante es un número mágico o no.