第二章主要说明了重构的原则,也就是应该怎么做、为什么要做的问题,咱们把编程可以想象成一场魔法演奏会,每一段代码都是魔法师们弹奏的音符。然而,有时候这个魔法世界可能会变得有点混乱,代码像个调皮捣蛋的小精灵,让人有点摸不着头脑。于是,登场的就是重构,就像是给这场魔法演奏会做了一次华丽的变奏。
1.为啥得搞重构?
重构可不仅仅是修修补补或者优化代码这么简单。它就像是一场不停调整音符的魔法演奏,时刻迎合变化的旋律。通过这个过程,我们的代码就变成了悠扬动听的旋律,易懂、好扩展,还能提高软件的质量和维护起来也轻松多了。
2.两个角色:新增功能和改头换面
想象一下我们是音乐大师,需要穿上两个帽子:一个是"加新魔法"的帽子,另一个是"改头换面"的帽子。这两者并不矛盾,反而像是魔法的主旋律和伴奏,互相呼应,共同营造出华美的编程音乐。
3.何时施展魔法?
当代码就像是个调皮的小精灵,需要你在旁边不断解释时,或者嗅到了一些奇怪的味道(Bad Smells),或者准备修复一些小错误时,说不定这就是给代码来个变奏的好时机。掌握何时施展魔法,就像是在演奏的时候掌握音乐的脉搏,准确而有趣。
4.安全的魔法
安全的魔法就是在变奏的时候不搞砸整个魔法秀。为了确保安全,得像为演奏准备可靠的乐谱一样,建立结实的测试体系。而小步骤的魔法则是每次只微调一下,确保整个魔法秀一切正常。
5.学会这门魔法
学会这门魔法就像是逐渐成为了一个魔法大师,是一个渐进的过程。通过小步骤的魔法,你可以培养出对这场编程魔法的感觉和技能。实际的实践经验就像是魔法演出,只有在真正的项目应用中,你才能真正理解何时以及如何运用各种魔法技术。
6.施展魔法的核心原则
持续施法: 重构就是不停施法的过程,而不是一次性的任务。它贯穿于整个编程的魔法演奏会。
安全施法: 安全的魔法就是变奏时不让观众感受到任何异常。建立可靠的测试体系就像是确保魔法表演安全的防护罩。
时机抓住: 了解何时施法至关重要。奇怪的味道出现、魔法需求变更等都可能是施法的好时机。
两者齐飞: 加新魔法和改头换面并不矛盾,它们像是编程的旋律与伴奏,相辅相成,通过不断的魔法变奏,代码得以悠扬地演化。
学以致用: 通过实践中的学习,逐步掌握魔法的技艺。小步骤的魔法就像是不断练习魔法技能,是学习的有效策略。
各位法师请好~~我们跟着马先生(Martin Fowler)继续看他如何将我们引导成一个好法师。