大型重构:
①建立正确而清晰的继承体系
要建立合适的继承体系,包括但不仅限于在合理的抽象处使用继承,为每次继承建立有意义的子类等等
②过程化转为对象化设计
面向过程的编程相比面向对象更为繁琐也更容易出问题
③逻辑与界面分离
④精炼每一部分
每一部分是指类、函数、变量等,每一个小部分都只负责做一件事
全书总结:
如果你发现当前程序的某一部分代码令人难以理解以及难以有所发展和改变,那么这个程序就需要被重构。
重构前,要尽可能的建立一套测试机制,一个完整的测试体系或许建立也需要花费一定时间,但在未来重构过程中他也可以帮你节省大量时间。
重构首先要做的是从细微处入手,不要幻想直接将整个工程修改好。
在重构前也寻找出程序需要被修改的部分并备份,在学会修改代码前要先学会还原代码。
很多时候代码的好坏是相对的,可能当前的解决方案在你看来已经乱的不成样子了,但可能在代码编写最初那是很不错的解决方案,所以代码的重构是要根据当前的实际情况来决定该如何编写代码。
代码的好坏取决于是否逻辑清晰,而不是仅仅表现在你的算法有多么高超精妙。有时候注释太多也是代码的一种问题。
在任何时候,都要记住代码中的一个类、一个函数、一个变量都要只做一个抽象层上的一件事。
代码要放在合适的位置,分清楚每一段代码所做的事情该位于何处。
接口是代码的灵魂,条理清晰而又不冗余的接口可以让程序减少很多问题。
时刻保持代码的封装性。
这本书到现在读完了第一次,算是对于重构的方法与思想有了初步的了解,这本书零零散散的看了半个月,这半个月中在实际的工作中我也在试着使用从书中学到的理论进行对代码的优化,感觉通过看这本书在优化代码的时候细节上确实能比之前有了更多的想法,但是对于一整个功能、一个完整的项目的重构想要仅仅依靠这一本书是远远不够的,还需要对于设计模式、软件工程、程序测试等等也要有足够的掌握,当然这些其实在学校都是学过的。。。只不过学的深度是否足够的灵活应用在实际开发中就要看个人能力了。。。。总的来说这本书还是是很值得一读的,但是如果想要写出好的代码这一本书还不够,只有不断的学习才能不断的提高自己。