Sigueme en Twitter
«Anterior | Siguiente»

¿Que es un número mágico?

30/12/2008

En términos de programación, se le llama «número mágico» a la mala practica de utilizar números directamente en el código. Esto si bien no tiene ninguna consecuencia en el desempeño del código, si tiene malas consecuencias en su mantenimiento.

Citando el ejemplo de la wikipedia en pseudocodigo:

for i from 1 to 52
    j := i + randomInt(53 - i) - 1
    a.swapEntries(i, j)

Vemos que esto no nos dice absolutamente nada, el hecho de utilizar 52 y 53 en el código hara que solamente el autor lo entienda.

constant int deckSize := 52
for i from 1 to deckSize
    j := i + randomInt(deckSize + 1 - i) - 1
    a.swapEntries(i, j)

En cambio al contener el número estatico en una variable, fácilmente nos damos cuenta que se trata de un juego de cartas por el simple nombre de la variable, donde 52 es el número total de ellas.

Evita esta practica como si se tratara de la peste.

Enlace | Magic number


Hay un comentario:

  1. 31/12/2008Michoacano dice:

    Me recuerda a mis clases de refactoring xD, aunque en realidad esa era de lo más fácil.

Escribe tu comentario:

¿Escribiste código? [+]

Para hacerlo más legible puedes utilizar la etiqueta <pre>.
Ejemplo: <pre lang="php" line="1"> código </pre>
  • El atributo lang indica el lenguaje de programación.
  • El atributo line indica desde donde comienza la numeración.


  Los mas frikis pueden suscribirse a los comentarios por RSS.