Siamo tutti consapevoli che i numeri magici (valori hardcoded) possono creare scompiglio nel tuo programma, soprattutto quando è il momento di modificare una sezione di codice che non ha commenti, ma dove traccia la linea?
Ad esempio, se si dispone di una funzione che calcola il numero di secondi tra due giorni, si sostituisce
seconds = num_days * 24 * 60 * 60
con
seconds = num_days * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE
A che punto decidi che è del tutto evidente cosa significa il valore hardcoded e lasciarlo da solo?
TimeSpan.FromDays(numDays).Seconds;
HOURS_PER_DAY will never need to be altered
), non codificherai mai per il software distribuito su Marte. : P
seconds = CALC_SECONDS(num_days);