【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

抛砖引玉——重构是必要的浪费

  • 2007-12-18
  • 本文字数:611 字

    阅读完需:约 2 分钟

重构是敏捷开发人员工具箱中的一项核心实践。按照重构的定义——修改内部结构(设计)而不影响外部行为——来讲,它并不能为客户创造可衡量的价值。在精益世界中,任何不能为客户创造价值的做法都是浪费,客户所能够感知到的只是行为/ 功能,而非结构。

但是精益定义了两种类型的浪费:“纯粹的浪费”和“必要的浪费”。“纯粹的浪费”指的是那种既不能给开发团队也不能给客户带来好处的做法。“必要的浪费”是指某些行为,即便它不能给客户创造价值,但也是在我们所知的范围内完成一项工作的最佳方式。重构就是典型的后者之一。

那又为什么要把一个有价值的做法称作“必要的浪费”呢?呃,这里的着眼点在于,它对于客户而言是没有价值的。所以我们应该把在这方面投入的 精力尽量减到最少,而且需要不断寻找更好的替代方案。可如果我们没有把它识别为一种浪费的话,我们就会把它理解为正确完成工作的唯一方式,不再寻找解决途 径——想一下“预先做大量的设计(Big Design Up Front)”吧。

如果看完了上面的话以后,你仍然赞同我的观点,那么接 下来就有一个问题等着你了:“那又怎么样?理解也好,不理解也罢,会有多大影响吗?”当开发人员把重构看作是必要的浪费时,他可能就会尽量减少重构,只重 构那些不再符合客户需求的代码。也即,如果你在编码的过程中发现了类中的某个方法有“坏味道”,但是它和你正在实现的需求并无联系,那就把它放到一边去。查看英文原文 Opinion: Refactoring is a Necessary Waste

2007-12-18 07:36963
用户头像

发布了 197 篇内容, 共 52.3 次阅读, 收获喜欢 20 次。

关注

评论

发布
暂无评论
发现更多内容

图数据库基准测试 LDBC SNB 系列讲解:Schema 和数据生成的机制

NebulaGraph

图数据库 LDBC

Solidity案例详解(五)服务评价合约

BSN研习社

区块链 Solidity

ICP Rust CDK|IC和Rust简介

TinTinLand

学习 黑客 编程语言 web3 ICP

探索未来科技:深入了解设备交互API如何改变我们的生活

测吧(北京)科技有限公司

测试

魔法门之英雄无敌3下载,死亡阴影 for Mac中文版 兼容m1

Rose

游戏

ToDesk专属功能全解析:多屏操作与高效协作并重

小喵子

远程办公 远程协作 远程控制 远程桌面 多屏

安卓设备上的文件无法通过usb在mac电脑上识别?

Rose

解除8M地图限制 冰封王座 mac下载 含魔兽争霸3攻略

Rose

游戏

上云?!下云?!这难倒了孙悟空!

白洞计划

云计算

专业且功能齐全的pdf编辑软件 acrobat pro dc 2023中文版 mac/win

Rose

Python中的代码优化和性能优化

技术冰糖葫芦

API 接口 API 文档 API 策略

Downie 4 for Mac(最好用的视频下载软件) 4.7.2直装版

Rose

RubyMine 2023.3.5中文 for mac 含最新注册码

Rose

扫描全能王发布2023“绿色数据”:减碳超12万吨,相当于多种700万棵树

合合技术团队

环保 扫描全能王 人工智能、 植树节

程序员有哪些常用的技术网站呢?

小魏写代码

详细教程:如何制作产品介绍二维码(一)

草料二维码

二维码 草料二维码 产品宣传 产品介绍 品牌宣传

KaiwuDB 分布式系统 Range Split & Merge 原理详解

KaiwuDB

数据库 数据分区

Piezo for Mac多种音源录音软件 兼容m1 m2

Rose

初赛仅剩两周!如何提交作品?手把手教你如何参与 openInula 挑战赛

openInula

开源 前端 前端框架 创新大赛

Databend 开源周报第 135 期

Databend

网络安全AI智能体公司「云起无垠」获数千万元天使+轮融资,致力于大模型与网络安全深度融合的技术研究

云起无垠

Sol链发币教程系列02:放弃代币冻结权限

加密先生

多模态交互数字人的应用!

青否数字人

【论文解读】多模态大模型综述

合合技术团队

人工智能 深度学习 大语言模型 多模态大模型

mac office 365 商业专业版破解 含Office 365激活工具 兼容M2/M3

Rose

微软 Office

API 性能测试教程:让你的应用运行更加顺畅

Apifox

测试 性能测试 接口测试 测试工具 API 性能测试

ICP Rust CDK|课程介绍

TinTinLand

学习 黑客 编程语言 #Web3 ICP

2024年值得尝试的22款在线管理软件盘点!

PingCode

项目管理软件 项目管理x

phpstorm2023激活2099(2024最新破解版) mac/win

Rose

如何取消ChatGPT Plus 订阅服务,不取消订阅有什么影响?取消了又如何再次订阅

蓉蓉

ChatGPT GPT-4 ChatGPT4

Python中的代码优化和性能优化

技术冰糖葫芦

API 接口 API 文档

抛砖引玉——重构是必要的浪费_研发效能_Amr Elssamadisy_InfoQ精选文章