有些代码会觉得读起来很费劲,自己的或者别人的,但是从未思考过到底是哪里丑陋。看了重构书中的一些方法,才恍然:原来代码可以这样写的!
Docompose Conditional就是其中一例。
if (user.A == X || (user.B != y && user.C ==z))
我想很多人都写过这样的代码。这个条件式到底是在说什么呢?只有慢慢读了才知道。
现在我们用Docompose Conditional重构一下:
if (IsRightUser(user))
bool IsRightUser(User user)
{
if (user.A == X || (user.B != y && user.C ==z))
{
return true;
}
return false;
}
bool IsRightUser(User user)
{
if (user.A == X || (user.B != y && user.C ==z))
{
return true;
}
return false;
}
嗯,是不是条件式一看就明白什么意思了。最近在写代码的时候,我已经开始运用这个方法了。