重构第二章:重构原则

2.1 何谓重构

    对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

    使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

    添加新功能时,你不应该修改既有代码,只管添加新功能。重构时就不能再添加功能,只管改进程序结构。

 

2.2 为何重构

    重构改进软件设计。完成同样一件事,设计不良的程序往往需要更多代码。因为常常代码在不同的地方使用完全相同的语句做同样的事。因此改进代码的一个重要方向就是消除重复代码。

    重构使软件更容易理解。

    重构帮助找到bug。

    重构提高编程速度。

    

2.3 何时重构

     三次法则。事不过三,三则重构。

    修补错误时重构。

    复审代码时重构。

    我们希望程序:1)容易阅读; 2)所有逻辑都只在唯一地点指定; 3)新的改动不会危及现有行为; 4)尽可能简单表达条件逻辑

 

2.4 

    计算机科学是这样一门科学:它相信所有问题都可以通过增加一个间接层来解决。

    1)允许逻辑共享。

    2)分开解释意图和实现。

    3)隔离变化。

    4)封装条件逻辑。

 

2.5 重构的难题

    数据库。

    修改接口。

    不要过早发布接口。请修改你的代码所有权政策,使重构更顺畅。

    难以通过重构手法完成的设计改动。

    何时不该重构:重写,或者项目已近最后期限。

 

2.6重构与设计

2.7 重构与性能

     时间预算法

     持续关注法

     统计数据

 

2.8 重构起源何处

 

 

参考资料:

    《重构-改善既有代码的设计》

posted @   diameter  阅读(268)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示