最近读了关于重构的这本书,突然有个想法,code不是搬砖而是一种艺术,如何写出有艺术感的代码?那就是去研究设计模式和重构。你可以学习很多技术像java的常见特性,框架的技术spring aop原理,但是我认为其实这些都是招式,只有设计模式和重构才是真正的内容,才真正让你的code有了艺术感。所以要成为一个编程艺术家必须精通设计模式和重构。
重构原则:
1. 重构是啥?
不改变软件功能,提供可读性和降低修改成本
2. 为何需要重构,重构能产生哪些价值?
a) 重构改进软件设计,重构就像是在整理代码,越难看出代码所代表的设计意图,就越难保护其中设计,于是设计就消失的越快。经常性的重构可以让代码维持该有的形态。
b) 重构使软件更容易理解, 便于其他人和自己阅读,便于理解原有代码的设计
c) 重构帮助找出bug
d) 重构提高编程速度,良好的设计才能做到快速开发。如果没有良好的设计或许某一段时间你的进展迅速,但是恶劣的设计很快会让你的速度慢下来。
3. 何时重构
a) 添加功能时重构 ,重构能让你更好的理解自己和别人的代码也就越越方便的添加代码,如果代码的设计无法方便的让我添加我的特性那么需要重构。
b) 修补错误时重构,如果收到一份错误报告,这就是需要重构的信号,因为显然代码还不够清晰,没有清晰到让你一眼看出bug。
c) 复审代码时重构,重构别人的代码可以得到最直观的理解。
4. 怎么对项目经理说
受进度驱动的经理需要我们尽快完成,至于怎么完成,那就是我自己的事情,我认为最快的方式是重构,所以我就重构。
6. 重构与设计
仍然做预先设计,但是不必一定找出正确的解决方案。重构让日后的修改成本不再高昂。
7. 重构与性能
开发时不对性能投以必要的关注,直至到性能优化阶段,通常只需要改动一小段代码就可以极大的提高性能,因为90%的性能问题都在10%的代码逻辑处。
自动化单元测试
a) 使用自动化测试工具 如junit
b) 每当收到bug报告,为自己添加新的单元测试
c) 测试最可能出错的代码,不用面面俱到
相关推荐
重构改善既有代码的设计,重构改善既有代码的设计课件,重构改善既有代码的设计PPT
重构 改善既有代码的设计.pdf
《重构 改善既有代码的设计》清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70 多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机...
重构——改善既有代码设计,经典文档,架构师必须教程
重构改善既有代码的设计 改善java代码结构, 让你的代码简洁
重构改善既有代码的设计第2版.pdf
英文版(重构改善既有代码的设计)
一直很喜欢重构这本书,但是由于自己记性不太好,书看过之后其中的方法总是记不住,于是想如果有电子版的重构书就好了,工作中遇到重构的问题可以随时打开查阅。在网上搜索了许久,发现重构这本书有英文chm版本的,...
重构 改善既有代码的设计 — 读后感(思维导向图)
Martin Fowler和《重构:改善既有代码的设计》(中文版)另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。《重构:改善既有代码的设计》(中文版)解释重构的原理(principles)和最佳实践...
5.3 这些重构准则有多成熟 第6章 重新组织你的函数 6.1 Extract Method(提炼函数) 6.2 Inline Method(将函数内联化) 6.3 Inline Temp(将临时变量内联化) 6.4 Replace Temp With Query(以查询取代临时变量) ...
重构-改善既有代码的设计(高清带书签版)
重构-改善既有代码的设计(高清版)pdf 重构-改善既有代码的设计(高清版)pdf 重构-改善既有代码的设计(高清版)pdf 重构-改善既有代码的设计(高清版)pdf
重构-改善既有代码的设计--高清版.pdf
重构:改善既有代码的设计 中文PDF清晰版 Martin Fowler和《重构:改善既有代码的设计》(中文版)另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。《重构:改善既有代码的设计》(中文版)...
《重构-改善既有代码的设计》.chm
重构 改善既有代码的设计,软件开发的不朽经典,普通程序员进阶到编程高手必须修炼的秘笈
重构改善既有代码的设计 chm 中文版本
重构_改善既有代码的设计 重构_改善既有代码的设计 重构_改善既有代码的设计 重构_改善既有代码的设计 重构_改善既有代码的设计 重构_改善既有代码的设计