首页 > 其他分享 >阅读笔记 2: 重构的实际应用

阅读笔记 2: 重构的实际应用

时间:2023-10-24 09:12:31浏览次数:28  
标签:重构 应用 代码 笔记 如何 阅读 数据

第6章介绍了如何重新组织数据,这是一个常见的重构任务。作者详细讨论了数据类和数据结构的不同,以及如何选择合适的数据组织方式以改善代码质量。

在本章中,福勒讲述了一些具体的数据重构技巧,如封装字段(Encapsulate Field)、以及如何将数据类的职责划分得更加清晰。他提到了代码中的数据泥团(data clumps)问题,即多个数据项总是一起出现,这是一个很好的迹象表明这些数据可能应该被封装为一个单独的对象。

此外,本章还提到了不可变对象(immutable objects)的重要性,以及如何避免共享可变数据,因为它们可能引发并发问题。

我发现这一章非常实用,因为它提供了许多具体的重构技巧和示例,帮助读者理解如何在实际代码中应用重构原则。重新组织数据是一个常见但关键的任务,它可以提高代码的可维护性和可读性,减少错误的发生。

这两篇阅读笔记总结了《重构:改善既有代码的设计》的核心理念以及一个具体的重构实例,以便更好地理解和应用书中的知识。希望这些笔记有助于您更深入地了解重构的概念和实践。

标签:重构,应用,代码,笔记,如何,阅读,数据
From: https://www.cnblogs.com/xlm926/p/17781589.html

相关文章

  • 《需求分析与系统设计》阅读笔记1
    《需求分析与系统设计》首先强调,理解这本书的核心在于认识到需求分析与系统设计是一门应用性知识,阅读虽然重要,但更为关键的是通过错误的实践、错误分析,并尽力避免未来可能出现的错误。第一章着重探讨了导致软件失败的原因,以及问题出现时应采取的解决方法。这部分的内容被认为尤......
  • 之前笔记全记本子上了,一直也没整理……
    JavaScript自定义对象定义格式:var对象名={属性名(变量名)1:属性值1,    …………     …………函数名称(方法名):function(形参列表){}};eat;function(){alert("吃");}......
  • uboot配置usbhost及代码初步分析--Apple的学习笔记
    一,前言之前uboot没配置过usb,但是现在uboot基于DM模型基本和linuxdriver类似了。那么为了学习linuxdriver,我可以先学习uboot来做技术储备也是一样的。而且usb在uboot上应该也有用武之地,所以有必要进行刻意练习。二,分析1,之前对发现driver用了wraper的方式来打包进行绑定,我理解唯一......
  • 数论学习笔记
    目录前言数论基础1.1整除1.2带余除法,同余质数2.1唯一分解定理2.2质数筛(线性筛)2.3欧拉函数最大公因数/最小公倍数3.1辗转相除法3.2裴蜀定理3.2扩展欧几里得算法线性同余方程4.1费马小定理4.2欧拉定理4.3逆元4.4求解线性同余方程4.5中国剩......
  • openGauss学习笔记-107 openGauss 数据库管理-管理用户及权限-三权分立
    openGauss学习笔记-107openGauss数据库管理-管理用户及权限-三权分立默认权限机制和管理员两节的描述基于的是openGauss创建之初的默认情况。从前面的介绍可以看出,默认情况下拥有SYSADMIN属性的系统管理员,具备系统最高权限。在实际业务管理中,为了避免系统管理员拥有过度集中的......
  • 【python笔记】杂乱版
    numpy.tile的作用importnumpyasnp#重复一个标量值scalar=5result1=np.tile(scalar,3)print(result1)#输出:[5,5,5]#重复一个数组arr=[1,2,3]result2=np.tile(arr,2)print(result2)#输出:[1,2,3,1,2,3]#在两个维度上进行不同次数的重......
  • Splay 学习笔记
    Splay概述Splay也称伸展树,是二叉搜索树(BST)的一种近似平衡的类型,由DanielSleator和RobertTarjan于1985年发明。有着极其优秀的复杂度(均摊\(O(log_2n)\))。可以实现Splay(旋转某节点到根),Split(分裂),Merge(合并),Insert(插入),Delete(删除),Get_Rank(根据权值找排名),Get_N......
  • 算法笔记(3)模拟退火
    原发表于个人博客=模拟退火的引入假如我们有一个函数,要求它的极大值,怎么求呢?如果这个函数满足单调性,可以用二分的方法。如果这是一个单谷(或单峰)函数,可以用三分法。那要是多峰函数怎么半呢?这时就可以用随机化算法。一种朴素的方法是:每次在当前找到的最优方案\(x\)附近寻找一......
  • 算法笔记(4)莫队算法入门
    原发表于我的博客前言本来想学完回滚莫队、树上莫队、二离莫队之后一起写一个博客,但是一直学不会/kk,只好把已会的普通莫队和带修莫队写了(以后会补上的)普通莫队莫队——优雅的暴力莫队算法的引入例题:给定一个数列和若干询问,每次询问询问一段区间内不同种类数字的个数。暴力......
  • 算法笔记(5)贪心算法
    原发表于我的博客贪心算法贪心与其说是一种算法,不如说一种思想。贪心思想,顾名思义,就是总是做出当前最好的选择,这种方式可能在全局上不是最好的结果,但是在一些题目中就可以直接用。最简单的例子就是“货比三家”,在生活中,我们买东西时都会挑性价比最优的,这就是一种贪心。贪心算......