软件设计与重构_重构与重新设计

软件设计与重构

开发人员经常交替使用“重构”和“重新设计”这两个词。 为什么? 我认为这是因为在两种情况下,我们都将获得相同的结果-更改了代码,但它执行的功能与过程开始时的功能完全相同。

但是,我认为这些词不是确切的同义词,在我们开始重构代码之前,最好先了解它们之间的区别。

动机

我们正在重构代码,以使其更易于理解,使其更具可读性。 我们这样做是为了提高阅读代码和理解代码的便利性。

另一方面,我们背后有重新设计和动机–它们与重构不同。 当我们要更改功能,准备现有代码库进行扩展时,我们正在重新设计代码。

复杂

每次重构都是代码库中的微小变化,就像重命名方法一样。 而且每个都是原子的,它不需要另外的步骤即可带来价值。 当然,您可以记住更多的重构,包括更多的提交,但是可以在任何时候停止它,而对代码库没有任何负面影响。

而且正在兑换。 没有计划就不要碰代码。 您需要知道要去的地方,并且在到达终点之前不要停下来。 整个计划定稿后,便完成了整个重新设计。

范围

重构的起点是一个类,一个方法。 您可以重命名它,将代码提取到单独的类中,但是更改的范围通常不大于两个,三个文件。

重新设计主要涉及对象之间的通信,以及它们之间的交互方式。 这意味着通常重新设计会导致许多类之间的变化,以及它们之间的通信方式。

定时

每当您发现代码库中有待改进之处时,就应该每天重构代码。 当您正在尝试引入新的东西或更改现有的东西时,就会发生这种情况。 在这项工作中,您只需注意部分代码,然后决定对其进行重构。 这不是您的主要目标,而是另外做。

重新设计代码时,重新设计是您的目标。

甚至有可能在重新设计期间您也会进行一些重构。

汇总表

重构 重新设计
  • 可读性和理解
  • 原子变化
  • 以课堂为起点
  • 特设
  • 改进和扩展
  • 复杂的变化
  • 依存关系
  • 规划

翻译自: https://www.javacodegeeks.com/2017/11/refactoring-vs-redesign.html

软件设计与重构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值