`

《重构,改善既有代码的设计》笔记

 
阅读更多

 

        最近读了关于重构的这本书,突然有个想法,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) 测试最可能出错的代码,不用面面俱到

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics