Wed, 06 Jul 2016 00:55:27 +0000

第一步 写测试

好的测试是重构的根本。

代码块越小,代码的功能就愈容易管理。

这本书写于 1999 年。

好的代码应该清楚表达出自己的功能。

函数应该放在它所使用的数据的所属对象内。

减少临时变量,它没啥意义,至于性能代价,你应该在一个地方统一去处理。为此还可以多写一些循环,就是循环里面的临时变量也抽出来。

抽离代码,把相关性的放一起。

重构的节奏:测试、小修改、测试、小修改……

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

重构改进软件设计、重构使软件更容易理解、重构帮助找到 bug、重构提高编程速度。

我不是个伟大的程序员,我只是个有着优秀习惯的好程序员。

重构应该是随时随地进行。

你之所以重构,是因为你想做别的什么事,而重构可以帮助你把这些事做好。

事不过三,三则重构。

结对编程重构,代码复审重构,一对一。

容易阅读、所有逻辑都只在唯一地点指定、新的改动不会危机现有行为、尽可能简单表达条件语句。

重写代码比重构简单的时候可以考虑就重写了。现有代码各种 bug,那就更可以重写了。

重构可以提高生产力的。

事先设计足够合理的方案,然后慢慢重构。

坏味道:duplicated code 1. 同一个类的两个函数含有相同的表达式。2. 两个互为兄弟的子类内含相同表达式。

说明写进一个独立函数种,以用途命名。关键在于函数做什么,如何做。

讲总是一起变化的东西放在一块儿。

当你觉得需要撰写注释时,请先尝试重构,试着让所有注释都变得多余。注释可以用来记述将来的打算,标记你并无十足的把握,还可以记录为什么做某事。

测试是可以提高开发效率的。

一套测试就是一个强大的 bug 侦测器,能够大大缩减查找 bug 所需要的时间。

用单元测试来暴露 bug。

测试你最担心出错的部分,这样你就能从测试工作中得到最大的利益。

编写未臻完善的测试并实际运行,好过对完美测试的无尽等待。

边界条件的测试,对 read 而言是第一个字符、最后一个字符和倒数第二个字符。

花合理时间抓出大多数 bug 好过穷尽一生抓出所有 bug。

重构列表: 重构词汇表,简短概要,动机,做法,范例。



blog comments powered by Disqus