`

重构笔记

阅读更多
重构笔记


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

    《31天重构系列笔记》是一本专注于C#编程语言重构技术的教程,该资源以免费高清PDF的形式提供。重构是软件开发过程中的一种重要实践,它旨在改进代码结构,提高可读性和可维护性,而不会改变外部行为。在31天的时间...

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

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

    重构代码笔记1

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

    .NET 快速重构 - 学习笔记

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

    31天重构学习笔记中文版

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

    重构 学习笔记 refactoring martin fowler

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

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

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

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

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

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

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

    代码重构总结实例

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

    31天重构学习笔记.docx

    本文主要讨论了如何通过重构来优化代码,避免将集合的全部操作暴露给调用者,以提高代码的安全性和可维护性。 在原始代码中,`Order` 类公开了一个 `IList<OrderLine>` 类型的属性 `OrderLines`,这允许外部代码对...

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

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

    读《重构》的小量笔记

    《重构》是软件开发领域的一本经典著作,由Martin Fowler所著,主要探讨如何通过改进代码结构来提高软件质量,而不会改变其外部行为。在读这本书的过程中,我们可以提炼出几个核心的重构知识点: 1. **重复代码 ...

    英语口译笔记法实战指导

    5. 回顾与重构:笔记是用来帮助回忆和重建讲话内容的,因此口译员需要能够快速地从笔记中提取信息并流畅地翻译出来。 6. 练习与反馈:通过模拟实战场景进行练习,可以提高笔记效率和准确性。同时,获取专业反馈,...

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

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics