`
wantongliu
  • 浏览: 8501 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

18 重构,改善既有代码的设计(2018第8本)

 
阅读更多

 

 

周一坐飞机带上的,结果飞机晚点,此书竟看了约一半。

其中很多思想和代码优化的方法,正是困扰我多年的问题;

如果你要问我,对我生产中产生重大影响的书,不管以前我说过什么,但现在已经是这本了。

代码审核和优化必备。

thinkpad e450 —— Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz [Family 6 Model 69 Stepping 1]

 

 

 

 

永远不要忘记“两顶帽子”(一心二用)

写代码时发现某些代码不顺眼,想马上把它改正过来。啊,顶住诱惑,别那么做。重构时你的原则 之一就是保持代码的功能完全不变,因此在你做功能任务时不要加入重构。千万别让这些想法打乱你手上的工作,可以把要修改的想法和测试用例及其它重构,要补充的文档记录下来,等原功能任务完成了再去做这些事情也不迟。

 

重构就像在悬崖上的小径行走:只要有光,你就可以前进。你要坚信,重构是让程序世界越来越安全。

 

现实的检验

程序员不知道如何重构

重构的利兹是长远的,何必把时间花在当下呢(收获利益时,你已经不在职位上了)

重构可能 破坏现有程序 

我的当前任务很紧张 

如果代码有多位程序员共同拥有怎么办

当前代码有多个分支怎么办

 

 

如何安全地进行重构呢

相信你自己的编码能力

相信你的编译器捕捉错误

相信你的测试

相信代码复审(审代码,审编译器,审测试)

 

可是

程序员是会犯错的

有一些错误只与环境(作用域)有关

测试永远无法覆盖所有情况

代码复审也是人

 

 

要进行重构时,有必要为整个团队建立共识:

一个故事:两个陪我人车子在山顶附近抛锚了,于是他俩走下车子,一人走到车的一头,开始推车;经过毫无成果的半小时之后,车头那家伙说道 :我从来不知道把车子推下山这么难!另一个家伙答道 :嘿,你说推下山是什么意思 ,难道我们不是想把车子往山上推吗?

这个故事经常在软件开发过程中重演。

 

一知半解和情况下作出设计决策。

分享到:
评论

相关推荐

    重构改善既有代码的设计第2版.pdf

    重构改善既有代码的设计第2版.pdf 本书主要讨论了如何通过重构来改善既有代码的设计,提高代码的可维护性、可读性和可扩展性。下面是对书中重要的知识点的总结: 1. 重构的定义和重要性:重构是指对既有代码的修改...

    重构-改善既有代码的设计(含中文PDF,英文chm)

    《重构:改善既有代码的设计》是一本由Martin Fowler所著的经典软件工程书籍,它深入探讨了如何通过重构技术提升代码质量、可维护性和设计的优雅性。这本书对于开发者来说是不可或缺的参考文献,无论是在团队协作...

    重构-改善既有代码的设计

    第8章 重新组织数据 169 8.1 Self Encapsulate Field(自封装字段) 171 8.2 Replace Data Value with Object(以对象取代数据值) 175 8.3 Change Value to Reference(将值对象改为引用对象) 179 8.4 ...

    《重构——改善既有代码的设计》第一个案例代码

    《重构——改善既有代码的设计》是Martin Fowler的经典著作,它为软件开发人员提供了一套系统化的重构技术,旨在提升代码质量、可读性和维护性。在这个案例中,我们聚焦于一个影片出租点的程序,通过逐步的重构过程...

    重构:改善既有代码的设计.[美]Martin Fowler.epub【文字版手机格式】

    重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与...

    重构-改善既有代码的设计 中文版

    第8章 重新组织你的数据 8.1 Self Encapsulate Field(自封装值域) 8.2 Replace Data Value with Object(以对象取代数据值) 8.3 Change Value to Reference(将实值对象改为引用对象) 8.4 Change Reference to ...

    重构:改善既有代码的设计(中文版).

    第8章 重新组织数据169 8.1 SelfEncapsulateField(自封装字段)171 8.2 ReplaceDataValuewithObject(以对象取代数据值)175 8.3 ChangeValuetoReference(将值对象改为引用对象)179 8.4 ChangeReferencetoValue...

    重构 改善既有代码的设计 源码

    《重构:改善既有代码的设计》是一本经典的软件开发著作,由Martin Fowler撰写,它深入探讨了如何通过重构来提升代码质量、可读性和维护性。重构是软件开发过程中的一个重要环节,它涉及到在不改变软件外部行为的...

    重构改善既有代码的设计(PDF)

    《重构改善既有代码的设计》这本书主要介绍如何在现有的代码基础上进行重构以改善设计。重构,即对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。本书以Java语言...

    重构:改善既有代码的设计(中文高清版)

    第8章 重新组织数据169 8.1 SelfEncapsulateField(自封装字段)171 8.2 ReplaceDataValuewithObject(以对象取代数据值)175 8.3 ChangeValuetoReference(将值对象改为引用对象)179 8.4 ChangeReferencetoValue...

    重构改善既有代码的设计

    在描述中,“重构改善既有代码的设计”强调了重构的主要目标——优化代码设计。设计是软件的灵魂,良好的设计可以使代码更具扩展性,降低维护成本,提高团队协作效率。重构过程中,开发者会识别出代码中的坏味道...

    重建——改善既有代码的设计

    本书清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。 章节列表如下: 目录 第1章 重构,第一个案例1 1.1 起点1 1.2 重构的第一步7 1.3 分解并重组...

    重构改善既有代码的设计中文版

    ### 重构改善既有代码的设计中文版 #### 书籍概述 《重构:改善既有代码的设计》是一本关于如何改进现有代码结构、提高代码可维护性的经典著作。本书由Martin Fowler撰写,详细介绍了各种重构技巧和模式,并通过...

    重构 改善既有代码的设计

    Chapter 1:Refactoring,a First Example 重构,第一个例子   The Starting Point 起点   The First Step in Refactoring 重构第一步   Decomposing and Redistributing the Statement Method 分解并重组...

    重构——改善既有代码的设计

    《重构——改善既有代码的设计》是一本经典的编程书籍,作者是Martin Fowler,他在书中深入探讨了如何通过重构来提升代码质量,进而提高编程水平。重构是软件开发过程中的一个重要环节,它不仅仅是对代码进行简单的...

    重构-改善既有代码的设计(chm清晰版)

    本书解释重构的原理(principles)和最佳实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善。本书的核心是壹份完整的重构名录(catalog of refactoring),其中每壹项都介绍壹种经过实证的...

Global site tag (gtag.js) - Google Analytics