读《重构:改善既有代码的设计》

《重构:改善既有代码的设计》这本书很早就听过,最近因为Scrum Master培训的缘故,导师又推荐了这本书,看来这确实是一本够经典的好书,正好国庆假期,我抽空阅读了这本书。

文中对代码结构的建议很有启发性。代码的味道一词,很好的形容了好代码和坏代码带给编辑者自身和其它阅读者的感受。“好的代码能够表达自身的意图”,这句话很好的体现了此书的思想。好的代码是清晰而明确的,“散发着芳香”。之后在自己写代码时,增加了对代码味道的嗅觉敏锐度,就是对自己结构有了更高要求。一旦感觉到隐隐的不满,或者不对头的迹象,就要停下来想一想,是否哪里的结构不太合理。这样的思考总是带来有益的进步,总会发现更合理的结构。

重构的目的:
重构就像锻炼身体,让代码保持健康。重构的目的是优化设计,设计优化后带来的好处:
1、提高理解性
程序主要是给人看的,而不是给机器看的。
2、降低修改成本
程序的维护时间比开发时间要长的多。 所有逻辑都只在唯一的地点出现。
3、提高编程速度
良好的设计是快速开发的基础。

重构的时机:
1、小的重构
随时可以开始,当现有代码让你难受时,就重构它。除非已经到了交付的末期。
2、大规模重构
要项目统筹安排。

重构的原则:
1、重构不能损失功能,要有测试用例保证。
2、重构要与增量开发隔离,以保证随时可以回退。
3、要小步快跑,完成一块重构,就立刻跑过测试用例,然后闭环此部分重构。
4、如果某次重构后,用例不通过了,只花一小点时间定位,解决不了,立刻回退。
5、当无法决定时,不论是因为无法判断做了是否会更好,还是做起来有难度,亦或是无法决定到底如何做,那都证明,现在不是做这个的最佳时机。

对已有代码做重构时,或添加新功能迭代开发时,可能就会顺其自然地使用书中总结的一些重构方法,即使不曾意识到这一点。所以,重构代码更多地依赖开发人员对面向对象的理解。书中提到的重构方法很多都是互斥的,比如有的重构方法需要合并参数/函数,而下一个重构方法就是拆分参数/类……虽然每个重构方法都解释了何时何地需要这种方法,但可能更多地是需要在实际开发/重构过程中慢慢体会,什么时候需要合并类,什么地方需要拆分……

总之重构这本书算是给我打开了新世界的大门,我还需要花更多的时间去研究它的奥秘。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《重构:改善既有代码设计第2版pdf》是一本由Martin Fowler撰写的软件工程经典之作,讲述了如何通过重构改善既有代码设计质量,提高软件系统的可性、可维护性和可扩展性。这本书详细阐述了重构的原则、实践、技巧和案例,对软件开发人员、架构师和工程师都是非常有益的参考书籍。 重构是一种旨在在不改变软件系统外部行为的前提下修改代码内部结构的技术。通过重构可以消除代码中的重复、提取公共代码、改进函数和类的接口、消除魔法数字和硬编码等不良实践,使代码更加简洁、可、可维护、可扩展,从而提高软件系统的质量。这本书中提出了多种重构技术,包括重命名、提炼函数、搬移函数、拆分类、合并类等等。通过实际案例的演示,者可以深入理解每个技术的应用场景,以及如何正确地使用。 此外,《重构:改善既有代码设计第2版pdf》还介绍了如何在重构时保持代码的正确性和完整性。它详细阐述了测试驱动重构的思想和技术,以及如何使用测试来验证所做的重构是否正确和有效。同时,该书还讲解了如何使用重构来应对软件设计中的问题和挑战,如代码坏味道、代码膨胀、复杂度过高等等。通过阅本书,者可以获得许多实用技巧和经验,从而更好地应对日常编码工作中的实际问题。 总之,《重构:改善既有代码设计第2版pdf》是一本非常优秀的软件工程书籍,它提供了很多实用的技巧和经验,对于想要提高编码水平、提高软件系统质量的人员都是非常有价值的参考。 ### 回答2: 《重构:改善既有代码设计第2版pdf》是一本非常有价值的书籍,它提供了许多关于重构代码设计方面的实用技巧和建议。在开发软件时,我们通常会遇到需要改进代码的情况,而本书就为我们提供了一些重构代码的方法和原则。 本书的作者Martin Fowler强调了“渐进式重构”的概念,即在不改变系统行为的前提下,逐步改进代码。这样做可以降低风险,同时提高代码质量。他还强调了代码的“坏味道”,指的是代码中常见的一些问题,例如代码冗余、过长的方法或类等,这些问题会导致代码难以维护。 本书还介绍了一些常见的重构技术,例如提炼函数、合并重复的代码、使用多态等。这些技术可以帮助我们改进代码设计,提高系统的健壮性和可维护性。 总的来说,《重构:改善既有代码设计第2版pdf》是一个非常有用的书籍,可以帮助软件开发人员更好地重构和改进代码,并提高系统的可维护性和健壮性。通过印刷品将其的阅体验最佳。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值