一本1年前的小说书,居然现在才看。。。颓废的也不是一点了 章1,一个例子。跳 章2。 重构的优点:说了一堆,我个人觉得提高效率最重要,如果与此违背 就坚决不重构。 重构时机: “第三次增加类似功能的时候进行重构”(说明可以重用了) “修改错误时候进行重构” (让错误一目了然) “代码复审的时候重构” ,对我通常比较困难, 因为我很懒。。。我把代码复审改成: 从现有系统中抽取功能模块,以备复用的时候进行重构 其他: “先进行少量设计,然后在开发过程中用重构不断改进设计” 这个真的是至理名言啊! 还有一个“开了有趣会议,但是什么都没有干成”这个例子很好 教育大家不要想当然,做完调查再发言。。。 章3:什么是坏代码 我认为比较常见和有用的: duplicated code (地球人都知道) long function (地球人都知道) divergent change和shortgun surgery (一处修改,处处修改) parallel inheritance hierarchies/feature envy (个人体会,两位同学经常一起出现,归在一起好了,两个 类体系互相依赖的后果,我个人就做过一个两个互相操作的 类体系,直接导致parallel inheritance hierarchies) speculative generality(过度设计的典型) 个人总结:当为了做一件事情,要去改2个以上的地方,就差不多 可以考虑重构。 章4: 自动单元测试,介绍了junit。 章5:后面几章的概述,略。 章6:重构函数的各种方法。 三种比较有用 extract method:全力将大函数变成小函数 replace temp by query:将临时变量变成函数,使得extract method顺利进行! (这条的确有道理) replace mothed with method object (我不知道效果如何, 看上去不错,我也的确没有想到过这种方法) 其他可有可无,自己清楚也就可以了 |