重构第一章:引言

通过首篇内容的阅读,我明白了为什么重构是如此重要以及它如何成为软件开发中的一项核心实践。我读的这本书中还介绍了一些大佬对本书的评价。看起来确实很牛很牛。

简单总结(可以背的,下次提代码整洁的时候leader如果问为什么张嘴就来):

1.重构的定义

重构不仅仅是代码的调整,更是一种系统化的、有目的的改进过程。作者Martin Fowler明确定义了重构:在不改变软件系统外部行为的前提下,通过调整其内部结构,提高其可读性、可维护性和扩展性。

2.代码的坏味道

书中引入了"坏味道"这一概念,描述了代码中可能存在问题的迹象。这些坏味道包括重复代码、过长函数、冗余注释等,是代码质量下降的信号,这个大抵可以作为坏代码的标准依据。

3.代码的质量和设计

强调了代码的质量和设计在软件开发中的关键作用。良好的代码设计不仅仅关乎功能的实现,还关系到代码的可维护性和可理解性,是确确实实可以提高生产力的。

4.持续重构

将重构视为一种持续进行的过程,而非一次性的任务。通过频繁小步骤的重构,我们可以保持系统的可工作状态,同时不断改进代码,切莫想着一次搞定,一次搞定叫重做不是重构啦。

5.小步骤的重构

书中提倡通过小步骤进行重构,每次只做一点微小的调整。这有助于降低重构的风险,确保代码保持可工作状态。

6.示例:函数提炼

通过一个简单的示例展示了重构的过程。原始代码通过提炼函数的方式,变得更加清晰和可维护。

可以看个简单示例:

复制代码
// 原始代码
public double calculateTotal(int quantity, double price) {
    return quantity * price;
}

// 重构后
public double calculateTotal(int quantity, double price) {
    return applyTax(quantity * price);
}

private double applyTax(double amount) {
    return amount * 1.1; // 简化的税率计算
}

简单的将计算过程抽出一个函数,改变的感觉是不是不一样了,是不是更清楚了,一下子就明白这个返回结果是什么了,而不是一个就算的表达式,谁也不知道这是干什么的。

相关推荐
极客BIM工作室11 小时前
CAD-GPT:从图像到几何图形,多模态大模型如何重构CAD建模流程?
重构
一人の梅雨11 小时前
淘宝商品详情接口深度解析:从 Sign 签名动态生成到多端数据全息重构
开发语言·javascript·重构
Leinwin11 小时前
【行业案例】Levi’s× 微软:AI + 云技术重构零售业价值链
人工智能·microsoft·重构
老蒋新思维11 小时前
创客匠人峰会实录:智能体系统重构知识变现 —— 从 “工具应用” 到 “场景化生态” 的跃迁
大数据·网络·人工智能·tcp/ip·重构·创始人ip·创客匠人
b***748811 小时前
前端技术的加速变革:从工程体系到智能化时代的全栈重构
前端·重构
漫长的~以后11 小时前
2025大模型落地革命:从参数竞赛到产业重构的实战拆解
重构
老蒋新思维11 小时前
创客匠人峰会深度:AI 重构知识产品 —— 从 “标准化” 到 “个性化 + 规模化” 的变现革命
大数据·网络·人工智能·tcp/ip·重构·创始人ip·创客匠人
老蒋新思维11 小时前
创客匠人峰会深度:AI+IP 重构知识变现信任链路 —— 创始人 IP 的信任增长方法论
大数据·网络·人工智能·tcp/ip·重构·创始人ip·创客匠人
解局易否结局12 小时前
Flutter:跨平台开发的范式革新与价值重构
flutter·重构
老蒋新思维20 小时前
创客匠人峰会实录:知识变现的场景化革命 —— 创始人 IP 如何在垂直领域建立变现壁垒
网络·人工智能·tcp/ip·重构·知识付费·创始人ip·创客匠人