AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

向管理层解释重构

  • 2010-08-02
  • 本文字数:726 字

    阅读完需:约 2 分钟

该如何向 CEO 及其他没有技术背景的人们证明重构的价值呢?

在一场主题为“ Refactoring Justification Language ”的讨论中,来自 BigVisible 的敏捷教练 Adam Sroaka 说到“重构是必要的,因为需求不可避免地会发生变化,这样代码也不可避免地要适应这种变化。当遵循良好设计原则的代码发生变化后,他们就不再遵循这些原则了。重构是这样一种技术:一旦代码修改后,我们可以通过重构不断改进代码的设计”。

来自 CollabNet 的 Scrum 认证培训师 Michael James 则关注于重构与测试优先的编程模式。他说,一开始编写的新代码总是有些凌乱,这样他和他的搭档就需要时间清理代码。

XP 创始人之一的 Ron Jeffries 在一篇名为“ Why is Refactoring a Must ”的文章中说到,假如我们无法在为期两周的 Sprint 中交付 Scrum 项目所需的所有必要的基础设施,那么我们就得准备重构了,以此进行改进,否则我们迎来的将是一团乱麻,这会严重阻碍项目团队的进度。他还指出,Scrum 与任何其他的敏捷方法的一个基本假定是需求会发生变化。如果需求发生了变化,那么就需要重构代码以清理留下来的乱摊子。

Michael James 在“Refactoring Justification Language”的讨论中补充到:即便需求不会发生变化,重构也是必不可少的,因为我们一开始所编写的代码肯定不会是完美的

Mark Woyna 建议到,我们应该看看汽车产业:每年,制造商们都会对汽车进行众多细小的更新,但只有很少一部分是最终用户的需求。有时,他们会修改某个零件以提高使用寿命或是降低花费。

此次报道表明:我们甚至都没必要和管理层讨论重构这个话题。重构应该是我们职业道德的一部分。每天早上的第一件事就应该是重命名或是提取方法,这就好像是工作之前的热身一样。

查看英文原文: Explaining Refactoring to Management

2010-08-02 07:592255
用户头像

发布了 88 篇内容, 共 268.6 次阅读, 收获喜欢 8 次。

关注

评论

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

灵雀云加入LF机密计算联盟,推进机密计算在云原生场景的应用

York

灵雀云 云原生 机密计算

移动互联网未来发展的五大趋势

BeeWorks

必须掌握的CSS三大特性🎨

猪痞恶霸

前端 7月月更

究竟谁更需要已读功能?用户还是即时通讯本身?

BeeWorks

赛博女娲,怎么造数字人?

脑极体

小程序表单-3

小恺

7月月更

【刷题记录】10. 正则表达式匹配

WangNing

7月月更

IPv6大航海,风帆指向强应用

脑极体

SpringBoot的SpringBootApplication注解

技术小生

springboot 7月月更

混合办公-疫情之下,远程办公靠谱吗?

BeeWorks

实践丨手把手教你用STM32设计WiFi语音播报日程表

华为云开发者联盟

开发

「势说新语」浅谈软件许可证

安势信息

开源 软件 许可证 开源软件 开源软件供应链

“穿越”到虚拟世界笑风生,网易瑶台沉浸式活动平台创新云端活动体验

阿里云弹性计算

虚拟世界 GPU服务器 瑶台

【开课预告】7~9月学习课程《基于MASA Framework的EShop实战》

MASA技术团队

WorkPlus SE | 全国第1个永久免费的即时通讯软件!

BeeWorks

KubeEdge Summit 2022首日亮点 | 全球产学研齐聚一堂,共话边缘新未来

华为云原生团队

云原生 边缘计算 kubeedge 边缘AI IOT设备管理

新星计划Day7【数据结构与算法】 栈Part1

京与旧铺

7月月更

微信业务架构图&“学生管理系统”毕设架构设计

gump

架构实战营

Typora常用语法和md样式美化一本通

武师叔

7月月更

AWS Inspector

冯亮

云计算 DevOps security AWS

Flutter 来一个笑嘻嘻的动态表情

岛上码农

flutter ios 前端 安卓开发 7月月更

长安链研究笔记-数据存储

长安链

实时视频在弱网下的极限通信

Damon

7月月更

数据建模

奔向架构师

数据仓库 数据建模 7月月更

【Docker 那些事儿】容器数据卷的本手

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

Python爬虫抢购某宝秒杀商品

弑着去忘记う

Python

实习过后的人都怎么样了?

KEY.L

7月月更

# 重要-即时通讯IM开源项目OpenIM关于版本管理及v2.3.0发布计划

Geek_1ef48b

leetcode 435. Non-overlapping Intervals 无重叠区间(中等)

okokabcd

LeetCode 数据结构与算法 贪心算法

SENSORO智慧社区服务方案:抓住基层治理的“神经末梢”

SENSORO

物联网

向管理层解释重构_研发效能_Mark Levison_InfoQ精选文章