Voglio evitare numeri usati direttamente nelle espressioni senza un significato ovvio. Tuttavia, se un numero viene usato una sola volta, come argomento passato in una funzione, e quel numero può essere facilmente cambiato senza interrompere il programma, quel numero è considerato un numero magico?
Ad esempio, ho una funzione double doSimulation(double alpha, double beta, unsigned count)
in cui i parametri sono al modello di simulazione. Nel mio codice applicazione, digito double x = doSimulation(0.5, 0.2, 100)
come parte della logica dell'applicazione, dove i numeri 0.5, 0.2 e 100 sono inclini a cambiare e non usati altrove, cioè possono essere modificati direttamente per migliorare il modello.
In questo caso, i numeri sono considerati numeri magici? È ridondante dichiarare
const double ALPHA = 0.5;
const double BETA = 0.5;
const unsigned COUNT = 100;
e li usa una sola volta, dato che i numeri sono già nominati mediante il parametro funzione?