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

有些代码会觉得读起来很费劲,自己的或者别人的,但是从未思考过到底是哪里丑陋。看了重构书中的一些方法,才恍然:原来代码可以这样写的!
Docompose Conditional就是其中一例。

None.gif if  (user.A  ==  X  ||  (user.B  !=  y  &&  user.C  == z))
None.gif   dot.gif

我想很多人都写过这样的代码。这个条件式到底是在说什么呢?只有慢慢读了才知道。
现在我们用Docompose Conditional重构一下:

None.gif if  (IsRightUser(user))
None.gif   dot.gif
None.gif
None.gifbool IsRightUser(User user)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
if (user.A == X || (user.B != y && user.C ==z))
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif       
return true;
ExpandedSubBlockEnd.gif    }

InBlock.gif    
return false;
ExpandedBlockEnd.gif}

None.gif
None.gif

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

转载于:https://www.cnblogs.com/kebixisimba/archive/2007/07/24/829162.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值