DEV Community

Vinícius Bispo
Vinícius Bispo

Posted on

Extraindo Constantes de Números Mágicos

Olá, esse é o meu primeiro post da série refatoração, no qual vou mostrar o que estou aprendendo com o curso Refactoring do Refactoring Guru

O primeiro post vai ser sobre extrair constantes de números mágicos.

Imagine que você tem o seguinte cenário:

def potential_energy(mass, height)
  mass * height * 9.81
end
Enter fullscreen mode Exit fullscreen mode

Não sei se você aprendeu sobre energia potencial gravitacional na escola, mas concorda comigo que não está nada explícito o que representa 9.81?

Vamos refatorar seguindo o "Extraindo Constantes de Números Mágicos"

GRAVITATIONAL_CONSTANT = 9.81

def potential_energy(mass, height)
  mass * height * GRAVITATIONAL_CONSTANT 
end
Enter fullscreen mode Exit fullscreen mode

Mind Blowing
Uau! Agora sim! Agora ficou explícito que o valor de 9.81 é a constante gravitacional

É isso que diz o "Extraindo Constantes de Números Mágicos", ele diz que "Um número mágico é um valor numérico encontrado no código que não tem significado óbvio". Este 'anti-pattern' torna mais difícil entender o programa e refatorar o código"

Os benefícios dessa técnica são inúmeros, entre eles podemos destacar:

  • As constantes podem servir como uma documentação.
  • É muito fácil mudar o valor de uma constante do que buscar por esse número em todo o código, sem o risco de acidentalmente mudar o mesmo número usado para outro propósito.

É isso pessoal! Eu espero que esse artigo os ajude! E se sim, me deixe saber! Até a próxima!

Top comments (0)