写点什么

向管理层解释重构

  • 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:592319
用户头像

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

关注

评论

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

【源码分析】【seata】at模式分布式事务-tm实现逻辑

如果晴天

源码分析 分布式事务 seata Seata框架

从零学习SDK(9)SDK的局限

MobTech袤博科技

有道CEO周枫:当我们谈论大模型时,应该关注哪些新能力?

有道技术团队

浅析低代码开发的典型应用构建场景

力软低代码开发平台

DevOps 与研发效能资深技术专家张乐:研发效能的升维思考与降维执行

万事ONES

世优科技AI数字人产品“世优BOTA”发布!全面提升AI虚拟员工能力

联营汇聚

九层天塔DApp合约系统开发搭建

薇電13242772558

NFT

Logrotate正则匹配文件名

linux大本营

正则表达式 Linux

手语识别:解锁语言交流的新时代

数据堂

Go 语言快速入门指南:GET 和 POST 方法

宇宙之一粟

Go HTTP post GET 三周年连更

文本搜索工具ack与grep

坚果

Linux 三周年连更

使用Plist编辑器——简单入门指南

发送GET请求时,浏览器请求的参数是指什么

linux大本营

HTTP url GET

logrotate怎么使用

linux大本营

Linux 日志管理

Rust、Go 和 Swift 在性能和并发性方面有何差异?

非凸科技

Go swift 性能 编程语言 高并发

编程中最难的就是命名?这几招教你快速上手

阿里巴巴云原生

阿里云 编程 云原生

C语言system函数判断返回错误

linux大本营

C语言

终于有人把动态规划、冒泡排序、二叉树、链表、栈全部讲清楚了

收到请回复

程序员 java

构建数据中台——数据只有被使用起来,才能创造价值

引迈信息

数据库 数据中台 低代码 JNPF 数字化、操作系统、中台

Apache Flink ML 2.2.0 发布公告

Apache Flink

大数据 flink 实时计算

如何通过C#/VB.NET代码将PowerPoint转换为HTML

在下毛毛雨

html PowerPoint 文档转换

qemu怎么用

linux大本营

qemu

FBEC大会 | 瑞云科技 CTO 赵志杰:元宇宙时代的基础设施——实时云渲染

3DCAT实时渲染

实时渲染 实时云渲染 实时渲染云

seq命令

linux大本营

Shell 脚本

已知非空线性链表由list指出,链结点的构造为(data,next)。写-算法,将链表中数据域值最小的那个链结点移到链表的最前面。要求:不得额外申请新的链结点

linux大本营

链表 C语言 数据结构与算法

nvmf协议

linux大本营

网络协议 nvme RDMA技术

没有主机跑开源软件?速来牧云助手免费领一台!

百川云开发者

云计算 开源 云主机 教程 免费

为开发者搭建创新舞台 OpenHarmony创新赛正式启动

最新动态

linux如何设置一个环境变量,在shell退出之后也不会失效

linux大本营

Linux Shell export

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