重构的原则

洪流学堂,让你快人几步。
本篇内容来自洪流读书会精选内容。

昨天我们已经了解到为什么要重构?接下来我们将从区分重构与性能优化、重构时我们的角色定位两个方面来解读一下重构的原则。

重构的原则

区分重构和性能优化

在真正开始介绍重构的原则前,我们需要对重构本身下一个定义,并在此定义的基础上与性能优化做一下区分。

重构本身是对软件内部结构的一种调整,通过使用一系列的重构手法在不改变软件所有功能行为的前提下,调整其结构以便提高其可理解性,降低后期修改的成本。

如果有人说起他们的代码在重构过程中有一两天时间不可以用,那我基本上可以确定,他们在做的事不是重构。

为什么这么说呢?

重构的关键在于运用大量微小而保持软件行为的步骤,一步步达成大规模的修改。每个单独的重构要么很小,要么由若干小步骤组合而成。因此,在重构的过程中,代码很少进入不可工作的状态,即便重构没有完成,也可以在任何时候停下来。

在这里可能有人会说你所指的重构不就是性能优化吗?

那么我们先来比较一下这两者,我们先看看重构与性能优化的相似之处:两者都需要修改代码,并且两者都不会改变程序的整体功能。

那两者的差别在哪儿呢?

两者的差别在于其目的:重构是为了让代码“更容易理解”、“更易于修改”,仔细想想这可能会使程序运行的更快,也可能使程序运行的更慢;而在性能优化时,我们只关心让程序运行的更快,而这样的初衷可能会使得到的代码更难理解和维护。

重构时我们的角色定位

上面我们介绍了何谓重构,接下来我们来看看要介绍的第二点,做重构这件事时我该如何定位自己?

在软件开发过程中,我可能会发现自己经常变换角色。首先我会尝试添加新功能,然后会意识到:如果把程序修改一下,功能的添加会容易得多。于是我换一种角色,做一会儿重构的工作。程序结构调整好之后,我又回到原来的角色上继续添加新功能。

新功能正常工作后,我又发现自己的编码造成程序难以理解,于是又去重构……

整个过程时间不长,但无论何时我都清楚自己在扮演哪种角色,并且明白不同人物角色对编程状态所提出的不同要求。
这是我们说的第二点,在重构中我们扮演的角色。

小结

今天我们从区分重构与性能优化、重构时我们的角色定位两个方面对重构的原则进行了解读,下次我将从重构带给我们什么、何时重构两个方面来为大家进一步解读重构的原则。

扩展阅读

【扩展学习】洪流学堂公众号回复读书会可以阅读本系列所有文章,还有更多精选内容等着你!


我是大智(vx:zhz11235),你的技术探路者,下次见!

别走!点赞收藏哦!

好,你可以走了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大智_Unity玩家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值