美文网首页
重构的流程长啥样?

重构的流程长啥样?

作者: 袁慎建 | 来源:发表于2020-04-30 22:39 被阅读0次

一些看过老马《重构2》一书的小伙伴可能很快就对书中列举了22种代码坏味道倒背如流,并对那60多种已经起好名字的重构手法在练习的时候能够驾轻就熟,而且细心点的你可能已经注意到了很多重构手法是互逆的,我相信你也很容易从书中取走这些叫做知识的东西。

拿到这些知识,你打算去行走江湖,不久就会发现江湖险恶,远不是在闭门练功那么简单。发现招式不灵,但时长因为步子迈大了,让自己陷入进退两难的境地。所以光记住大师总结的知识还远远不够,你能将这些知识轻松取走,但你取不走大师产出这些知识的经验和他们所踩过的坑,这些坑只有自己踩过之后才能有所体会。而重构真正的威力就恰好隐藏在这些不可跨越的过程经验中。

这些过程是什么?是为了提供测试安全网而辛辛苦苦写测试的过程(遗留系统补测试,新系统推荐TDD)。是原封不动,创建新的,再小步替换掉旧有的过程。是重构失败后安全撤回的过程,这三个过程是值得新人在起步的时候多去琢磨的。这就好比,当你第一次去学滑雪,你会先学什么?请你思考10秒钟再往下看......

如果你打算先学如何刹车(在雪坡上停住),那我要恭喜你,因为你跟我想得是一样。当然俞敏洪老师当年就是这么想的,他也这么做了。受俞老师启发,我学习滑雪的第一件事情是学了3种刹车方式,能够让我随时停下来,我就很有信心去学习一些高难度动作了:比如S型平行转弯。

如果你在学习重构的时候一开始就跟学滑雪一样,先学会了如何让自己安全前进,学会了如果让自己随时停下来,你已经掌握了重构80%的精髓了,剩下的就慢慢依图索骥吧,跟着大师慢慢打磨自己的本领吧。

如果你细心点还会发现,老马在描述重构手法的时候,就拿提炼函数来说,他在做法描述了非常小心翼翼的过程,基本上他都会先创建一个新的,然后逐步用新的替换掉旧的,然后要么成功,要么回滚。如果说重构有个什么样的流程,我觉得应该是这样子:

  1. 构建安全网
  2. 旧的不变,新的创建,一键替换,旧的再见(ThoughtWorks王健提出的16字心法)
  3. 提交或回滚

回到实际重构代码落地操作层面,可以是这样子:

  1. 编写测试
  2. 简单清理(可选)
  3. 识别味道
  4. 运用手法(记住那16字)
  5. 验证结果

对于这个流程,你觉得好用吗?

相关文章

  • 重构的流程长啥样?

    一些看过老马《重构2》一书的小伙伴可能很快就对书中列举了22种代码坏味道倒背如流,并对那60多种已经起好名字的重构...

  • TDD编码流程长啥样?

    TDD流程 我们常说,作为一个TDDer,要时刻切换三顶帽子(红帽子、绿帽子~ ~、蓝帽子),其实是说的是TDD的...

  • 搜索

    一、全网搜索引擎架构与流程 全网搜索的宏观架构长啥样? 全网搜索的宏观流程是怎么样的? 全网搜索引擎的宏观架构如上...

  • 文章为什么要测试

    要测试一个文章到底长啥样 要测试一个文章到底长啥样 要测试一个文章到底长啥样 要测试一个文章到底长啥样 洒大地快乐...

  • JVM对象到底长啥样?synchronize长啥样?

    解释 在计算机世界里,所有的数据(data)都是在二进制形式存储的,这些二进制数可以表示我们人类社会中的各种信息,...

  • 如何来一次说干就干的重构 (流程篇)

    摘要: 科学的重构流程。 原文:如何来一次说干就干的重构 (流程篇) 作者:逐鹿 IT, 猛猛如玉 Fundebu...

  • 未来长啥样?

    忽然有一种感觉,这些年我们已经习惯拥有的,那些看似平常,似乎是比比皆是的,与日常生活朝夕相伴的东西,在不久的将来,...

  • 好人,长啥样?

    小时候看电影,都是脸谱画。好人帅气漂亮,坏人丑陋厌恶,一出场就知道好人坏人。人物角色也是非恶即善,好人一点坏事都不...

  • 李白长啥样?

    作者:刘娜 魏老师说,圆圆在家问她:李白长啥样?魏老师不知道该怎么回答,就来书院问闫师。 闫师说:...

  • 高考长啥样

    帅?威武?和蔼可亲? 还是…… 高考:万千考试中的一次。 高考:高高兴兴地考试。 高考:高级别的一次考试。 高考:...

网友评论

      本文标题:重构的流程长啥样?

      本文链接:https://www.haomeiwen.com/subject/bcbnwhtx.html