《重构,改善既有代码的设计》读书笔记一:初识重构

一、何谓重构?

对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

二、重构有哪些好处?

1、改进软件设计

    如果没有重构,程序的设计会逐步腐败变质。随着软件功能的增加,很多开发人员在未完全理解软件的整体设计之前便动手写代码,程序将逐渐失去自己的结构,开发人员越来越难以通过阅读代码而理解原来的设计。重构很像是在整理代码,让所有的代码回到它应该的位置,经常性的重构可以帮助代码维持自己该有的形态。 

    完成同一件事,设计不良的程序往往需要更多的代码,甚至多处出现重复的代码做同样的事,更多的代码则意味着出现bug的风险更高,重复的代码则意味着后续维护的成本更高。如果在能在重构的过程中消灭掉这些代码,那么你会在后续的运维过程中轻松很多,也不会给后续接手的开发人员留下很多坑,这是积德行善。

2、使软件更容易理解

   所谓程序设计,很大程度上是与计算机交谈,只要你编写的代码符合计算机的规则要求,不出意外的情况下都会得到正确的反馈。但是未来的开发人员在接手你的代码做修改时,本来修改原本只需要一小时,但是由于你的代码可读性并不强,他却要花费数天的时间去理解你的代码。重构可以帮助我们让代码更容易理解,即使很久以后自己回头再来看自己写的代码时也能很快的理解其内部逻辑。

3、重构帮助找到bug

   在对代码进行重构时,我们可以深入理解代码的行为,搞清楚程序的结构及设计,甚至可以找出其中很隐蔽的bug。重构能够帮助我们写出更健壮的代码。

4、重构提高编程速度

   良好的设计是维持软件快速开发的根本,重构可以帮助你快速的开发软件,因为重构阻止系统腐败变质,甚至还可以提高设计质量。

二、何时重构?

   重构不是一件需要专门抽出一定时间去做的事情,而是随时随地进行。你不应该为重构而重构,之所以重构,是因为你想做别的事,而重构可以帮助你把那些事情做的更好。

1、添加新功能时重构

   在添加新功能时进行重构,在重构过程中可以帮助你对所需要修改的代码进行理解,重构之后也可以让你在下次看这些代码时更快的对其理解。

   重构之后可以让你更快的添加新功能新特性。重构之前,原有的设计可能存在一些不合理之处,一些本可以复用的代码因为没有做到合理的封装或解耦导致无法对其进行复用,一旦完成重构,新特性的添加就会更快更流畅。

2、修补错误时重构

   调试过程中运用重构,多半是为了让代码更具可读性。当去理解一段代码时,利用重构帮助自己加深理解。以这种方式来处理代码,常常能够帮助你找出代码中的bug。

3、复审代码时重构

   重构可以帮助复审别人的代码。开始重构前可以先阅读代码,得到一定程度的丽姐,并提出一些建议。一旦想到一些电子,就可以考虑是否可以通过重构立即轻松地实现他们。如果可以,则立即动手。这样做了几次之后,你可以把代码看得更清楚,提出更多恰当的建议。我们不必想象代码应用是什么样子,但你可以“看见”它是什么样子。于是你可以获得更高层次的认识。如果不进行重构,则永远无法获得这样的认识。

   三、重构与性能

   关于重构,有一个常被提出的问题:它对程序的性能会造成怎样的影响?为了让软件易于理解可能会被迫做出一些让程序变慢的修改。虽然重构可能会使软件运行变慢,但它也会使软件性能优化变得更容易。一个构造良好的程序可从两个方面帮助这一优化形式。

   首先,它让你有比较充裕的时间进行性能的调优。因为有构造良好的代码在手,你就能快速的增加新功能,也就有更多的时间放到性能调优上。

   其次,面对构造良好的程序,你在进行性能分析时便有较细的粒度的程序代码去排查性能瓶颈出现在哪里,缩小排查范围,加快优化速度。所以总的来说重构与性能优化二者并不矛盾冲突,重构为性能优化铺平道路,扫除障碍。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值