首页 > 其他分享 >重构:改善既有代码的设计 第八章 读书笔记

重构:改善既有代码的设计 第八章 读书笔记

时间:2022-12-01 10:25:32浏览次数:60  
标签:语句 重构 函数 读书笔记 代码 Move 第八章 循环 搬移

第8章 搬移特性
8.1 搬移函数(Move Function)

  在对象之间搬移函数;

  
8.2 搬移字段(Move Field)

  在对象之间搬移字段;


8.3 搬移语句到函数(Move Statements into Function)

 

   动机:消除重复,如果我发现调用某个函数时,总有一些相同的代码也需要每次执行,那么我会考虑将此段代码合并到函数里头。

 

8.4 搬移语句到调用者(Move Statements to Callers)

  和搬移语句到函数作用相反  

  

 

 

8.5 以函数调用取代内联代码(Replace Inline Code with Function Call)

  demo:

 

 

 

8.6 移动语句(Slide Statements)

  曾用名:合并重复的代码片段

  动机:让存在关联的东西一起出现,可以使代码更容易理解。如果有几行代码取用 了同一个数据结构,那么最好是让它们在一起出现,而不是夹杂在取用其他数据 结构的代码中间。


8.7 拆分循环(Split Loop),一般循环不会成为性能瓶颈,如果成为的性能瓶颈再恢复多功能操作。

  动机:但如果你在一次循环中做了两件不同的事,那么每 当需要修改循环时,你都得同时理解这两件事情。如果能够将循环拆分,让一个 循环只做一件事情,那就能确保每次修改时你只需要理解要修改的那块代码的行 为就可以了。

  code demo:

 

 


8.8 以管道取代循环(Replace Loop with Pipeline)

  相当于用stream取代循环。stream是管道的一种处理方式。


8.9 移除死代码(Remove Dead Code)

  不用的代码,立刻删除它。

标签:语句,重构,函数,读书笔记,代码,Move,第八章,循环,搬移
From: https://www.cnblogs.com/parent-absent-son/p/16940571.html

相关文章

  • 11月《代码大全2中文版》读书笔记
    本月,我进行了对《代码大全2》第四章《关键的“构建”决策》的学习,以下是我个人的一些学习心得。在决策的第一步,我们要做的就是选择编程语言,因为编程语言对于软件......
  • 一言不合就重构
    hello,大家好呀,我是小楼。前段时间不是在忙么,忙的内容之一就是花了点时间重构了一个服务的健康检查组件,目前已经慢慢在灰度线上,本文就来分享下这次重构之旅,也算作个总结吧......
  • 重构后台的django项目目录、配置开发环境、添加环境变量
    重构项目目录celery_task:logs:项目运行时/开发时日志目录包luffapi:项目同名文件夹apps:项目所有应用的集合文件夹libs:第三方类库的保存目录[第三方组件、模块]-包......
  • 11月读书笔记《程序员修炼之道——从小工到专家》
    本月,我继续进行了对《程序员修炼之道——从小工到专家》第三章《基本工具》的学习,以下是我对这个月的学习记录。既然软件工程也是一门工程,那么就肯定会含有所有工......
  • 《程序员修炼之道:从小工到专家》第六章读书笔记
     第六章的题目是:“当你编码时”,很多时候,我们都认为编码阶段就是机械的把设计转换为可执行的语句,但是事实并不是这样,如果编码是机械工作,那么相对人工,机械早就能代替人工。......
  • 软件架构设计杂记: 好作品是改出来的,好的代码是不断重构打磨出来的, 心性是历经艰难
    软件架构设计杂记:好作品是改出来的,好的代码是不断重构打磨出来的,心性是历经艰难困苦修炼出来的原创: 陈光剑 Kotlin开发者社区 今天起 好作品是改出来的,好的代码......
  • 重构:改善既有代码的设计 第七章 读书笔记
    第7章封装7.1封装记录(EncapsulateRecord)曾用名:以数据类取代记录;做法:1- 对持有记录的变量使用封装变量,将其封装到一个函数中。记得为这个函数取一个容易搜......
  • 《Unreal大象无形》读书笔记
    一、对象销毁 纯C++类销毁尽量不要使用new、delete方案,可以使用智能指针。智能指针会使用引用计数来完成自动的内存释放。使用MakeShareable函数可以来转化普通指针为智能......
  • C#设计模式读书笔记之设计模式的设计原则
    设计模式的设计原则:(重要性从上往下排列)开闭原则:对扩展开放,对修改关闭依赖倒转原则:高层模块不应该依赖底层模块,它们都应该依赖抽象;要针对抽象层编程,而不要针对具体类编程。......
  • 《Go 语言并发之道》读书笔记(七)
    今天这篇笔记我们来学习Go限流限流是分布式系统中经常需要用到的技术,因为我们让请求没有限制,很容易就出现某个用户开很多线程把我们的服务拉跨,进而影响到别的用户。限流......