マジックナンバー(ハードコードされた値)がプログラムに大混乱をもたらす可能性があることは誰もが知っています。特にコメントのないコードセクションを変更するときは、どこに線を引きますか?
たとえば、2日間の秒数を計算する関数がある場合、置き換えますか
seconds = num_days * 24 * 60 * 60
と
seconds = num_days * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE
どの時点で、ハードコーディングされた値の意味が完全に明らかであると判断し、そのままにしておくのですか?
TimeSpan.FromDays(numDays).Seconds;
HOURS_PER_DAY will never need to be altered
)で、火星に配備されたソフトウェアをコーディングすることはありません。:P
seconds = CALC_SECONDS(num_days);