美文网首页《重构》读书笔记
《重构》学习笔记(01)--什么是重构

《重构》学习笔记(01)--什么是重构

作者: 若隐爱读书 | 来源:发表于2019-05-12 18:55 被阅读0次

    什么是重构?

    所谓重构是这样一个过程:在不改变代码外在行为的前提下,对代码作出修改,以改进程序的内部结构。本质上说,重构就是在代码写好之后改进它的设计。

    重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。
    重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

    重构的目的是使软件更容易被理解和修改。重构不会改变软件可观察的行为——重构之后软件功能一如既往。重构技术就是以微小的步伐修改程序,如果你犯下错误,很容易便可以发现它。

    重构的节奏:测试、小修改、测试、小修改、测试、小修改......尽管遵循重构手法可以使我避免绝大多数引入bug的情形,但是人就可能引入错误,因此,重构需要引入可靠的测试。

    为何重构?

    (1) 重构改进软件设计。如果没有重构,程序的设计会逐渐腐败变质。相同的代码往往会在不同的地方做着相同的事,改进设计的一个方向就是消除这些重复代码,这正是优秀设计的根本。

    (2)重构使软件更容易理解。除了计算机以外,几个月后可能会有另一名程序员尝试读懂你的代码并做一些修改。因此,一份易懂的代码会提升整体编程效率。另外,我们还可以利用重构协助理解不熟悉的代码。

    (3)重构帮助找到bug。对代码进行重构,可以帮助我们深入理解代码,对代码理解的越深,就越能帮我们找到bug。重构能够帮我们更有效地写出强健的代码。

    (4)重构提高编程速度。重构可以帮助我们更快速地开发软件,因为它阻止系统腐败变质,它甚至还可以提高设计质量。

    tips:任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员。

    何时进行重构?

    三次法则:第一次做某事时只管去做;第二次做类似的事情会产生反感,但无论如何还可以去做;第三次再做类似的事情,你就应该重构。

    添加功能时重构。添加功能时是最常见的重构时机,因为重构可以帮助我快速理解我需要修改的代码。另外一个原动力就是:代码的设计无法让我轻松的添加我需要的特性。

    修补错误时重构。当你无法一眼看出bug所在位置时,就是梳理代码并且进行重构的好时机。

    复审代码时重构。代码检视不应该是对业务逻辑的审核,更应该是让经验丰富的开发者将开发经验传递给缺乏经验的新手开发的方法。重构方法应该成为一个重要的issue.

    相关文章

      网友评论

        本文标题:《重构》学习笔记(01)--什么是重构

        本文链接:https://www.haomeiwen.com/subject/dezcaqtx.html