重构代码(定义、好处、何时重构)

代码重构

1.什么是重构?

重构

​ 名词:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其理解性,降低其修改成本。

​ 动词:使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

2.为什么重构?
(1)重构改进软件的设计

​ 如果没有重构,程序的内部设计(或架构)会逐渐腐败变质。例如,当人们只为短期目的而修改代码,经常没有完全理解架构的整体设计,通过代码的累积,逐渐偏离原本的设计。

​ (2)重构是软件更容易理解

​ 程序设计,很大程度就是与计算机对话。然而在代码编写中,是为了让别人也能读懂。

​ (3)重构能帮助找到bug

​ 如果要对代码进行重构,首先要深入理解代码的所作所为,并立即把新的理解反映在代码中,于是能有效找到bug。

​ (4)重构提高编程速度

​ 例如,开发一个项目,一开始进展很快,然而到后来,想要添加一个新功能需要的时间越来越多,他们要花更多的时间把新功能塞进已有的代码库,不断蹦出来的bug修复起来也越来越耗时。代码库像是补丁堆补丁,需要细致的考古工作才能弄明白系统是如何工作的。花费一定的时间去重构代码,良好的模块划分使添加新功能的人只需理解小部分代码,就可做出修改,引入bug的可能性也小,修复bug也容易的多。

3.何时重构?

1.三次法则(事不过三,三则重构)

2.预备性重构:让添加新功能更容易

​ 在添加新功能之前,对已有代码进行观察,有时对代码结构进行微调,就能使工作容易的多。

3.帮助理解的重构:使代码更易懂

​ 例如,有时看到了一段结构糟糕的条件逻辑,也可能复用一个函数,也可能命名很糟,要花费很久才弄懂它在做什么,这都是重构的机会。

4.捡垃圾式重构

​ 帮助理解的重构还有一个变体,我已经理解代码在做什么,但发现做的不好。例如,逻辑不必要地迂回复杂,或者两个函数几乎完全相同,可以用一个参数化的函数取而代之。

5.复审代码时重构

​ 代码复审或者叫代码走查,对现有代码进行复审,可以改善开发状况,有助于在开发团队中传播知识,让缺乏经验的人多学习。

6.何时不该重构?

​ 如果看见一块凌乱的代码,单并不需要修改它,那么就不需要重构它。

​ 如果重写比重构容易,就不需要重构。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java重构代码经典设计模式是指在进行代码重构过程中,使用经典的设计模式来改善代码结构和提高代码的可维护性、可读性和可扩展性。其中,常用的设计模式包括: 1. 单例模式:确保一个类只有一个实例,并提供全局访问点,可以用于管理资源或配置信息。 2. 工厂模式:将对象的创建和使用分离,通过一个工厂类来创建具体的对象,提高代码的灵活性和可扩展性。 3. 观察者模式:定义了对象之间的一对多依赖关系,当一个对象状态改变时,所有依赖它的对象都会自动更新。 4. 装饰器模式:通过动态地为对象添加额外的功能,而不需要修改原始类,提高代码的灵活性和可维护性。 5. 策略模式:定义了一系列可相互替换的算法,使得算法的变化对客户端不可见,提高代码的可扩展性和可维护性。 6. 模板方法模式:定义了一个算法的骨架,将具体的实现延迟到子类中,提高代码的复用性和可扩展性。 7. 适配器模式:将一个类的接口转换成客户端所期望的另一个接口,使得原本不兼容的类能够一起工作。 8. 迭代器模式:提供一种统一的方法访问一个容器对象中的各个元素,而不暴露其内部的表示。 以上是Java重构代码中常用的设计模式,通过合理地应用这些设计模式,可以使得代码更加可读、可维护和可扩展,同时也能减少代码重复和冗余,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值