Todos sabemos que os números mágicos (valores codificados) podem causar estragos no seu programa, especialmente quando é hora de modificar uma seção de código que não tem comentários, mas onde você desenha a linha?
Por exemplo, se você possui uma função que calcula o número de segundos entre dois dias, substitui
seconds = num_days * 24 * 60 * 60
com
seconds = num_days * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE
Em que momento você decide que é completamente óbvio o que o valor codificado significa e o deixa em paz?
TimeSpan.FromDays(numDays).Seconds;
HOURS_PER_DAY will never need to be altered
), você nunca estará codificando para o software implantado em Marte. : P
seconds = CALC_SECONDS(num_days);