赞
踩
在代码中存在过多条件语句的时候,建议把多层条件语句改为卫语句或其他方式
double GetPayAmount() { double result; if (IsDead()) { result = DeadAmount(); } else { if (IsSeparated()) { result = SeparatedAmount(); } else { if (IsRetired()) { result = RetiredPayAmount(); } else { result = NormalPayAmount(); } } } return result; }
double getPayAmount()
{
if (isDead()) {
return deadPayAmount();
}
if (isSeparated()) {
return separatedPayAmount();
}
if (isRetired()) {
return retiredPayAmount();
}
return normalPayAmount();
}
函数中的if条件逻辑使人难以看清正常的分支执行路径。使用卫语句表现所有特殊情况。
所谓卫语句,如果某个条件极其罕见,就应该单独检查该条件,并在该条件为真时立刻从函数中返回。这样的单独检查常常被称为“卫语句”。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。