读【重构】(3)——感悟重构——Decompose Conditional(分解条件式)

有些代码会觉得读起来很费劲,自己的或者别人的,但是从未思考过到底是哪里丑陋。看了重构书中的一些方法,才恍然:原来代码可以这样写的!
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;
}


嗯,是不是条件式一看就明白什么意思了。最近在写代码的时候,我已经开始运用这个方法了。

你可能感兴趣的:(Condition)