重构第二章:重构的原则

第二章主要说明了重构的原则,也就是应该怎么做、为什么要做的问题,咱们把编程可以想象成一场魔法演奏会,每一段代码都是魔法师们弹奏的音符。然而,有时候这个魔法世界可能会变得有点混乱,代码像个调皮捣蛋的小精灵,让人有点摸不着头脑。于是,登场的就是重构,就像是给这场魔法演奏会做了一次华丽的变奏。

1.为啥得搞重构?

重构可不仅仅是修修补补或者优化代码这么简单。它就像是一场不停调整音符的魔法演奏,时刻迎合变化的旋律。通过这个过程,我们的代码就变成了悠扬动听的旋律,易懂、好扩展,还能提高软件的质量和维护起来也轻松多了。

2.两个角色:新增功能和改头换面

想象一下我们是音乐大师,需要穿上两个帽子:一个是"加新魔法"的帽子,另一个是"改头换面"的帽子。这两者并不矛盾,反而像是魔法的主旋律和伴奏,互相呼应,共同营造出华美的编程音乐。

3.何时施展魔法?

当代码就像是个调皮的小精灵,需要你在旁边不断解释时,或者嗅到了一些奇怪的味道(Bad Smells),或者准备修复一些小错误时,说不定这就是给代码来个变奏的好时机。掌握何时施展魔法,就像是在演奏的时候掌握音乐的脉搏,准确而有趣。

4.安全的魔法

安全的魔法就是在变奏的时候不搞砸整个魔法秀。为了确保安全,得像为演奏准备可靠的乐谱一样,建立结实的测试体系。而小步骤的魔法则是每次只微调一下,确保整个魔法秀一切正常。

5.学会这门魔法

学会这门魔法就像是逐渐成为了一个魔法大师,是一个渐进的过程。通过小步骤的魔法,你可以培养出对这场编程魔法的感觉和技能。实际的实践经验就像是魔法演出,只有在真正的项目应用中,你才能真正理解何时以及如何运用各种魔法技术。

6.施展魔法的核心原则

复制代码
持续施法: 重构就是不停施法的过程,而不是一次性的任务。它贯穿于整个编程的魔法演奏会。

安全施法: 安全的魔法就是变奏时不让观众感受到任何异常。建立可靠的测试体系就像是确保魔法表演安全的防护罩。

时机抓住: 了解何时施法至关重要。奇怪的味道出现、魔法需求变更等都可能是施法的好时机。

两者齐飞: 加新魔法和改头换面并不矛盾,它们像是编程的旋律与伴奏,相辅相成,通过不断的魔法变奏,代码得以悠扬地演化。

学以致用: 通过实践中的学习,逐步掌握魔法的技艺。小步骤的魔法就像是不断练习魔法技能,是学习的有效策略。

各位法师请好~~我们跟着马先生(Martin Fowler)继续看他如何将我们引导成一个好法师。

相关推荐
故渊at12 小时前
系列二:MVVM 深度实战与项目重构 | 第7篇 LiveData & StateFlow 状态管理实战:从“粘包弹”到“丝滑流式”
android·重构
智塑未来14 小时前
秩益科技DIMAXER:以高解析度多物理场仿真重构电磁系统设计范式
科技·重构
知行产研1 天前
阳光电源:以光储微网+电控技术 重构零碳无人矿山能源生态
重构·能源
ModelHub XC信创模盒1 天前
压力之下,重构赛道:从中美AI博弈到信创生态的深层跃迁
大数据·人工智能·重构·开源·信创·范式
郝学胜-神的一滴1 天前
Qt 高级开发 025:打造优雅界面的艺术与高效重构之道
开发语言·c++·qt·程序人生·重构·软件构建·用户界面
郝学胜-神的一滴1 天前
干货版《算法导论》08:哈希——重构集合数据结构的速度魔法
数据结构·python·程序人生·算法·重构·软件构建·哈希算法
故渊at1 天前
系列二:MVVM 深度实战与项目重构 | 第4篇 MVVM 完整架构搭建:从零打造企业级框架(Base 封装、全局状态与生命周期铁律)
重构·架构
故渊at1 天前
系列三:组件化与模块化进阶 | 第12篇 老项目重构实战(绞杀者模式):从单体巨石到组件化架构的无痛迁移
android·重构·架构·模块化·组件化
故渊at1 天前
系列一:架构思想进阶 | 第3篇 SOLID 原则与设计模式实战:从“代码搬运工”到“架构师”的必经之路
观察者模式·设计模式·重构·架构·代理模式
无忧智库2 天前
破局“伪智慧”陷阱:数智园区全生命周期集成平台的架构重构与价值跃迁(PPT)
重构·架构