`
jokermanager
  • 浏览: 140653 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

重构笔记1

阅读更多

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、有一种重构是找出不值得的间接层,并拿掉他。这种间接层常以中介函数形式出现。

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics