1、好代码的两个重要标志:易读、易改。
2、重构的定义:在不改变代码的外在行为的前提下,对代码做出修改,以改进程序的内部结构。
3、当你发现自己需要为一个程序添加一个特性,而代码的结构使得你不能很方便的这么做,那么先重构那个程序,使得特性的添加比较容易进行,然后再添加特性。
4、设计不良的程序,往往需要更多的代码,因为在不同的地方存在使用完全相同的语句在做同样的事情。
5、重构可以改进设计,而改进设计的一个重要方向,就是消除重复代码。代码数量的减少不会使系统运行更快,然后代码数量的减少使得未来可能的修改变得容易的多。
6、重构可以使得代码更易读,而随着代码逐渐简洁,我们可以看出一些以前看不到的设计层面的东西。如果不对代码做这些修改,我们可能永远看不到他们。
7、重构可以把我们待到更高的理解层次上。
8、重构可以使我们深入了解代码的行为,而对代码的深入理解,可以帮助我们找到bug。在搞清楚代码结构的时候,我们会弄清楚代码所作的一些假设的正确与否,这是一个良好的习惯。
9、Kent Beck的名言:我不是个伟大的程序员,我只是一个有着一些良好习惯的好程序员而已。
10、重构可以使我们能够写出强固稳健的代码。
11、重构有助于提高编程速度。因为良好的设计才是快速开发的基础,没有良好的设计,可能一段时间你进展很快,但恶劣的设计很快使你的速度慢下来。你会把很多时间花在调试上,添加功能变得越来越难,修改时间越来越长。
12、重构的时间,有三个原则。分别是:添加功能时、修改错误时、复审代码(code review)时。
13、常态性的code reviews有助于在团队中传播知识,帮助更多人理解大型软件系统的更多部分。code review也有助于代码的清晰。
14、程序有两面价值:“今天可以为你做什么”,“明天可以为你做什么”,重构有利于在明天对软件进行修改和扩展。
15、代码会为代码引入很多间接层,重构往往会把大型对象拆成数个小型对象,把大型函数拆分成数个小型函数。
16、间接层的价值:
- 允许逻辑共享。例如一个子函数在不同地点被调用。superclass中的某个函数被subclasse共享。
- 分开解释“意图”和“实现”。
- 隔离变化。
- 将条件逻辑编码。
17、有一种重构是找出不值得的间接层,并拿掉他。这种间接层常以中介函数形式出现。
分享到:
相关推荐
[免费高清PDF]31天重构系列笔记.rar [免费高清PDF]31天重构系列笔记.rar
31天重构学习笔记中文汉化版,非常好的编程规范书籍
1. 神秘命名(Mysterious Name) 2. 重复代码(Duplicated Code) 3. 过长函数(Long Function)关键在于“做什么
“每当我要进行重构的时候, 第一个步骤永远相同: 我得为即将修改的代码建立一组可靠的测试环境. 这些测试是必要的, 因为尽管遵循重构准则可以使我避免绝大多数的臭虫引入机会, 但我毕竟是人, 毕竟有可能犯错误. ...
根据《重构 改善既有代码结构》一书,摘录重点整理分析得出的一个PPT,希望对大家有点帮助
《重构商业:产业互联网时代的商业模式重构》读书笔记模板.pptx
重构不是一项靠着天分挥洒的艺术,而是一项工程。重构是一种有纪律的,经过训练的,有条不紊的程序整理方案,可以将整理过程中不小心引入错误的机率降到最低
这个重构在微软的代码库也经常遇到。比如最经典的属性对字段的封装就是一个很好的例子,那么下面我们将看到对集合的封装,如下代码所示,调用端只需要一个集合的信息,而我们则提供了一个IList的集合,大家都知道...
重构是持续改进代码的基础。抵制重构将带来技术麻烦:忘记代码片段的功能、创建无法测试的代码等等。 而有了重构,使用单元测试、共享代码以及更可靠的无 bug 的代码这些最佳实践就显得简单多了。
NULL 博文链接:https://jianzong2000.iteye.com/blog/1668363
重构 改善既有代码的设计笔记 网络转载,分享快乐
第5章 重构列表5.1 重构的记录格式每个重构方法都有如下五个部分:概要(summary)简单介绍此重构方法的适用情景,以及它所做的事情。动机(motivati
如何改善代码的设计-读《重构》读书笔记.pdf
关于如何重构java代码的。看过好一定很有感触。
跟着七月老师学flask第二天的笔记,详细截图说明了代码重构过程,对flask 有新的认识
第一步:重构自定义的富文本对象,设置为全局对象. 原代码的富文本对象是声明在addResource这个方法里面的,代码结构非常复杂,在beforeCreate这个钩子函数里面申明为全局的,就可以多次复用,不需要重复声明来了, 否则,每...
重构:改善既有代码的设计(第2版)学习笔记
笔记