【发布时间】:2011-03-29 20:10:57
【问题描述】:
我编写了如下所示的函数:
bool IsDry(bool isRaining, bool isWithUmbrella) {
if (isRaining) {
if (isWithUmbrella)
return true;
else
return false;
}
else
return true;
}
我要检查一下,如果下雨了,那人需要带伞以保持干燥(别笑,这只是一个例子,我们实际的业务规则比这更严重)。
我该如何重构它,因为现在它看起来很笨拙。
谢谢你们的帮助,伙计们! =)
【问题讨论】:
-
虽然您的代码比较冗长,但我会提醒您不要在一行中编写包含两个以上变量的逻辑表达式。随着单行逻辑表达式变得越来越复杂,重构它们变得越来越容易出错,因为它们的可读性较差。例如,尝试添加 isIndoors 作为另一个变量。请注意,单线对于人类来说变得更难在飞行中进行解析。重构时请记住这一点 - 简洁并不意味着可读性。
-
哎呀,旧的
if(isTrue) return true; else return false;反模式!
标签: c#