一天一个重构方法(31):以常量取代特殊数值
2009-09-07 11:21:48Replace Magic Number with Symbolic Constant:以常量取代特殊数值
在计算科学中,经常会出现一些特殊数值,比如圆周率。如果你需要在不同的地方引用一个特殊数值,不要直接用这个字面数值,请创造一个常量,根据其意义为它命名,并将这个字面数值替换为这个常量。
public double PotentialEnergy(double mass, double height)
{
return mass * 9.81 * height;
}
将上面实例中的9.81替换成一个常量。许多语言都允许声明常量,常量不会造成任何性能开销,却可以大大提高代码的可读性。上面这个实例中,如果9.81这个特殊数值发生变化,你没有引入常量的话,就需要全部修改一遍。而引入常量就只需要在一个地方做修改。
public double PotentialEnergy(double mass, double height)
{
return mass * GRAVITATIONAL * height;
}