我们都知道,幻数(硬编码值)会对您的程序造成严重破坏,尤其是当需要修改没有注释的一段代码时,您会在哪里划清界线?
例如,如果您有一个计算两天之间的秒数的函数,您是否要替换
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);