【读书活动感悟分享】读《重构:改善既有代码的设计》有感:从“能跑就行”到“优雅整洁”的修行_文章

【读书活动感悟分享】读《重构:改善既有代码的设计》有感:从“能跑就行”到“优雅整洁”的修行

薛德利
发表于 2025-11-10 17:49:05

       在软件开发的江湖里,每个程序员都曾面对过这样的代码:它庞大、复杂、脆弱,像一团纠缠在一起的一团线,每次想解开一个结,都会引发更多的混乱。我们给这种代码起了个名字——“屎山”。在阅读马丁·福勒的《重构:改善既有代码的设计》之前,我对待“屎山”的态度往往是敬畏而又无奈的:只要它能跑,就绝不动它。
      而《重构》这本书,彻底改变了我的这种观念,它将重构从一种偶然的、随性的行为,提升为一项系统化、可持续的工程实践。

一、核心理念:重构不是“收拾烂摊子”,而是持续的精进

      书中最核心的观点在于:重构不是项目后期才做的事情,而是软件开发过程中不可或缺的一部分,如同吃饭喝水一样自然。
      从“重构”到“持续重构”:我们过去常常把重构视为一个独立的、耗时的项目阶段。但福勒告诉我们,重构应该是“两次行为之间的间隙”中随时进行的小步骤。每次添加新功能或修复bug时,如果发现代码有“坏味道”,就顺手进行一个小的重构。这就像在厨房里,每做完一道菜就顺手清理台面,而不是等到所有碗碟堆积成山再一起清洗。
      改变对修改代码的恐惧:书中通过大量详实的例子和严谨的步骤说明,给了我修改代码的“勇气”和“底气”。以前不敢动代码,是怕引入新的bug。但《重构》提供了一套安全网——完备的测试。它强调“重构前,先写好测试”。有了测试的守护,我们才能像戴着安全绳在高空作业一样,大胆地对代码结构进行调整。

二、方法与工具:从“蛮力”到“巧劲”
      书中最具价值的部分,是它将重构这种看似“艺术”的行为,分解成了可重复、可学习的“技术”。
      识别“坏味道”:书中总结了22种代码的“坏味道”,如重复代码、过长函数、过大的类、冗长的参数列等。这就像一位老中医,为我们提供了“望闻问切”的诊断清单。现在,当我看到一段几百行的函数,或者一个被到处拷贝粘贴的逻辑时,我就能立刻识别出这是“坏味道”,并产生一种想要“治疗”它的冲动。 重构“招数”:从最简单的重命名变量、提取函数,到更复杂的以多态取代条件表达式、搬移函数,每一个重构手法都像是一招一式的武功。这些招数小而精,每一步都只做一件事,并且有明确的前置后置条件,确保变换的安全性。例如,“提取函数”将一段代码独立出来,不仅减少了原函数的长度,更赋予了这段代码一个清晰的名字,极大地提升了可读性。


三、思想升华:重构是改善设计,而不仅仅是整理代码
     这本书的副标题“改善既有代码的设计”点明了重构的终极目标。它让我深刻理解到:
     设计并非一蹴而就:我们不可能在项目伊始就设计出完美无缺的架构。需求在变,我们对问题的理解也在深化。重构承认了这种不确定性,它允许我们随着对需求理解的加深,不断地、渐进地调整代码结构,使其设计能够适应变化。重构,就是对代码设计的持续再投资。
     可读性是第一生产力:代码首先是写给人看的,其次才是给机器执行的。重构的最终目的,是让代码更容易被人类理解和修改。一个命名良好的函数,其价值胜过一页注释;一个逻辑清晰的结构,能让你在几个月后依然能快速上手。


     总的来说,《重构:改善既有代码的设计》让我深刻理解了编写高质量代码的重要性,并为我提供了许多实际可行的策略和方法。我也开始在日常的开发中更加注重代码的结构和可维护性,尽量避免因为“快速实现”而忽视代码质量。


70 0

评论


意见反馈