【《重构 改善既有代码的设计》学习笔记5】重构列表

本篇文章的内容来自《重构 改善既有代码的设计》一书学习笔记整理并且加上自己的浅显的思考总结!重构列表,为重构提供一个坚实的起点,支持后面的重构工作!1、重构的记录格式书中说:每个重构手法都有如下五个部分。名称(name),建造一个重构词汇表,名称是很重要的。简单的概要(summary),介绍此重构手法的使用情景,以及它做的事情。动机(motivation),为什么需要这…

大家好,又见面了,我是全栈君。

本篇文章的内容来自《重构 改善既有代码的设计》一书学习笔记整理并且加上自己的浅显的思考总结!

重构列表,为重构提供一个坚实的起点,支持后面的重构工作!

1、重构的记录格式

书中说:每个重构手法都有如下五个部分。

  • 名称(name),建造一个重构词汇表,名称是很重要的。

  • 简单的概要(summary),介绍此重构手法的使用情景,以及它做的事情。

  • 动机(motivation),为什么需要这个重构? 什么情况下不改使用这个重构。

  • 做法(mechanics),简明扼要的一步一步介绍如何进行此重构。

  • 范例(examples),十分简单的一个例子说明此重构手法如何运作。

在说明一下,概要 包括三个部分:

(1)一句话,介绍这个重构能够帮助解决的问题;

(2)一段简短的陈述,介绍你应该做的事;

(3)一幅速写图,简单的展示重构前后示例。有时候一图胜千言,可用UML图等表达清楚即可。

在说明一下,做法 ,如果你知道该用哪个重构,但记不清具体步骤,可以参考 “做法”部分。

【后面学习重构手法会具体的根据上述格式进行,每一项重构手法自成一体,并且根据整理,这个重构列表可以作为参考工具】

2、寻找应用点

很多重构要求你找到对于某个函数、某个字段或类的所有引用点。【目前很多开发工具如java的Eclipse和Idea都能相当准确找到程序元素的引用点】

不要盲目的查找-替换。应该检查每一个引用点,确定它的确指向你想要替换的东西。

3、这些重构手法有多成熟

重构的基本技巧——小步前进,频繁测试。

许多重构手法,都涉及向系统引入设计模式。设计模式,为重构行为提供了目标。模式和重构之间有一种与生俱来的关系。模式是你希望到达的目标,重构则是到达之路.

运用重构的时候,请记住: 它们仅仅是一个起点。 在这个起点上,然后不断地努力提高自己的重构能力,这才是重构最终带给我们的。

总结

这一章 是为了后面的重构手法介绍打下基础,一起开启重构手法之路的学习

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121050.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 校园兼职平台青团社获数亿元B+轮融资,蚂蚁⾦服领投

    校园兼职平台青团社获数亿元B+轮融资,蚂蚁⾦服领投

    2021年7月1日
    151
  • python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄

    python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄一、前言Python对文件的操作是相当简单的。二、文件操作函数的介绍Python通过open函数来打开文件,语法如下open(file,mode=‘r’,buffering=None,encoding=None,errors=None,newline=None,closefd=True)可以看到,除了第一个file参数是必须的,其它都是可选的。1、file:操作的文件2、mode:操…

    2022年10月18日
    4
  • pycharm代码灰色_pycharm中import是灰色的

    pycharm代码灰色_pycharm中import是灰色的问题描述不少新手在使用Pycharm时都遇到了这样的问题,import导入包的时候,比如importurllib,importos,写的时候还是彩色,一写完,一按回车,马上就变成了灰色。解决方案1、配置python解释器有误也就是说python找不到你的包,这种原因的解决方案可以参照我的另一篇文章。https://blog.csdn.net/Nire_Yeyu/article/de…

    2022年8月26日
    4
  • rocketmq负载均衡机制_rocketmq topic

    rocketmq负载均衡机制_rocketmq topicProducer发送消息时,会首先获取Topic路由信息(通过本地+注册中心拉取),RocketMQ的架构里有多个Broker服务器,而消息队列也会存在于多个Broker服务器里,所以就需要负载均衡策略来将流量尽可能均匀的打到所有服务器上。本章节就介绍一下RocketMQ中常用的四种负载均衡策略。找到Producer发送消息时选择消息队列的逻辑,在类中定义了方法:进入到方法里:上述代码的类中定义了方法:根据源码可以很清楚地看到,默认策略就是依次选择消息队列进行发送,具体的执行细节如下:如何选一个

    2022年10月13日
    2
  • python之socket编程

    python之socket编程Socket是什么呢?socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)基本上,Socket是任何一种计算机网络通讯中最基础的内容。例如当你在浏览器地址栏中输入http://…

    2022年7月13日
    16
  • 580解锁bl工具_小米解锁卡刷教程

    580解锁bl工具_小米解锁卡刷教程本期教程教你如何给小米手机解锁卡刷在浏览器输入小米社区官网:xiaomi.cn,点击手机解锁点击立即解锁点击解锁工具下载,下载完成后解压在手机上打开设置-我的设备-全部参数,连续点击MIUI版本7次即可开启开发者模式返回到设置主界面,点击更多设置-开发者选项-设备解锁状态,并关闭WiFi网络,开启数据网络进行绑定解bl会清除所有数据,请自行备份数据备份完数据后,手机关机。按电源键+音量键…

    2022年6月11日
    93

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号