重构--改善既有代码的设计--读书笔记1

  

重构--改善既有代码的设计--读书笔记1

看了第一章的,敲出了所有的代码,共4版,自己理解写的比较少。以后慢慢在以后各章中补充吧。第一章看的还算顺利,可能代码太少了,还体会不深。

 

ver1

提取出accountFor()

 

拿到第一版本的代码,首先第一印象是statement()函数太长了。将长函数切分为几个短函数,当有新的功能函数需要实现时更好重用。

运用Extract Method提取switch代码段。

在大函数里面的局部变量,不会被修改的可以作为新的小函数的入参。

 

重构技术以微小的步伐前进,方便查错。

 

accountFor()移到到Rental类中,因为他只用到了Rental中的信息。

使用了委托测试新修改后的代码。

 

移去原有的多余临时变量thisAccount,改成rental.getCharge(),这涉及到了重构与性能的问题。(P69会再讨论) Replace temp with query 

 

提取常客积点代码

点数计算的方式只与影片的类型有关。变化不会很多,先放到Rental中。

ver2

去除临时变量,totalAmountfrequentRenterPoints这两个临时变量

这样多带来了2次循环,但是提取成函数可以增加复用性。有利有弊

增加了一个htmlStatement()函数证明这点

 

多态取代switch

null

ver3

继承

因为影片类型变化较大,且他们就好像在回答一种问题。采用继承体系。

ver4

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值