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

 

 

 

 

分享到:
评论

相关推荐

    [免费高清PDF]31天重构系列笔记.rar

    笔记的第1-7天可能侧重于介绍重构的基本理论,包括重构的意义、何时进行重构以及如何衡量重构的效果。作者可能会讲解软件设计原则,如开闭原则、单一职责原则等,这些都是重构时需要遵循的重要指导方针。 8-14天...

    重构笔记

    《重构笔记》主要探讨的是软件开发过程中的一个重要实践——重构,它是提高代码质量、可维护性和可读性的重要手段。重构是指在不改变代码外在行为的前提下,对代码进行修改,以改善其内部结构。这一过程可以是局部的...

    重构代码笔记1

    本文以"重构代码笔记1"为出发点,深入探讨了24种常见的代码坏味道及其对应的重构策略。 首先,神秘命名(Mysterious Name)是重构的常见起点,通过改变函数声明和变量名,使其更具描述性,如将`cash0`更改为`cash_...

    .NET 快速重构 - 学习笔记

    .NET 快速重构学习笔记是针对开发者提升代码质量和可维护性的重要指南。重构是一个系统性的过程,旨在改善软件设计,优化代码结构,而不改变其外在行为。在.NET开发环境中,重构是不可或缺的技能,它可以帮助开发者...

    31天重构学习笔记中文版

    ### 一、重构的概念与实践 #### 1.1 重构的意义 重构是指在不改变代码外部行为的前提下,对其内部结构进行改进的过程。这一过程能够帮助程序员更好地理解和维护代码,提高软件的质量。 #### 1.2 重构的目的 - **...

    重构 学习笔记 refactoring martin fowler

    重构是软件开发过程中的一个重要环节,它涉及到对现有代码的改进,目的是为了提高代码的可读性、可维护性和设计质量,而不改变其外部行为。本文主要围绕重构的关键概念、原则、时机以及面临的挑战展开讨论。 首先,...

    《重构》----学习笔记

    《重构》是一本深入探讨软件开发过程中的代码优化与改进的经典著作。重构,简单来说,是在不改变软件外部行为的前提下,对其内部结构进行改进,以提高代码的可读性、可维护性和可扩展性。这一过程并非依赖于个人天赋...

    重构关键问题整理分析笔记摘要

    根据《重构 改善既有代码结构》一书,摘录重点整理分析得出的一个PPT,希望对大家有点帮助

    《重构商业:产业互联网时代的商业模式重构》读书笔记模板.pptx

    《重构商业:产业互联网时代的商业模式重构》读书笔记模板.pptx

    代码重构总结实例

    - "31天重构学习笔记"可能提供了每日重构技巧和案例,帮助深入理解重构过程。 - "Java重构示例"系列文档可能展示了Java代码重构的具体步骤和实践。 - "SVN搭建和使用手册"及"SVN中文教程"提供了关于SVN的详细指南...

    31天重构学习笔记.docx

    1. **安全**:通过限制外部对集合的直接访问,可以防止意外修改,从而确保数据的完整性和安全性。 2. **控制**:封装允许开发者精确地控制集合的访问和修改行为,例如,在添加或移除元素时可以添加额外的业务逻辑。 ...

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

    重构 改善既有代码的设计笔记 网络转载,分享快乐

    读《重构》的小量笔记

    1. **重复代码 (Duplicated Code)**: 这是重构的一个重要原因。重复代码会导致维护困难,因为当需要修改一处逻辑时,可能需要在多个地方进行同样的改动,增加了出错的风险。解决方法是提取公共代码到一个单独的函数...

    ZeromaXHe#BlogBackup#【笔记】《重构:改善既有代码的设计》第5章-重构列表1

    第5章 重构列表5.1 重构的记录格式每个重构方法都有如下五个部分:概要(summary)简单介绍此重构方法的适用情景,以及它所做的事情。动机(motivati

    英语口译笔记法实战指导

    综上所述,英语口译笔记法是一项综合性的技能,它涵盖了符号系统、信息筛选、时间管理、结构化记录、回顾与重构、练习与反馈以及心理素质等多个方面。通过系统地学习和实践,口译员可以在工作中更高效地完成翻译任务...

    Map.vue基于百度地图组件重构笔记分享

    第一步:重构自定义的富文本对象,设置为全局对象. 原代码的富文本对象是声明在addResource这个方法里面的,代码结构非常复杂,在beforeCreate这个钩子函数里面申明为全局的,就可以多次复用,不需要重复声明来了, 否则,每...

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

    PDF格式的书籍可以在不同的设备上阅读,易于分享和笔记,为读者的学习和使用提供了极大的便利。然而,技术书籍的价值不仅在于阅读,更在于实践。因此,建议读者在阅读的同时,将理论知识与实际编程相结合,通过具体...

    《从跟随到领先:H为管理体系重构之路》读书笔记.pdf

    《从跟随到领先:H为管理体系重构之路》读书笔记.pdf

    《从跟随到领先:H为管理体系重构之路》读书笔记.docx

    《从跟随到领先:H为管理体系重构之路》读书笔记.docx

Global site tag (gtag.js) - Google Analytics