50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

向管理层解释重构

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

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

关注

评论

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

ITSM | 如何通过设计提升工单处理效率

嘉为蓝鲸

IT ITSM 流程管理

2023飞书未来无限大会谢欣演讲highlight:三件套、Office提升、出海

B Impact

XLD音频无损解码器:X Lossless Decoder中文激活版

真大的脸盆

Mac Mac 软件 音频解码 音频处理工具 音频管理

赋能数字经济新动能 焱融科技获评「人工智能高质量发展-行业责任担当」企业

焱融科技

人工智能 文件存储 容器存储 分布式文件存储 全闪存储

直击面试!阿里技术官手码12W字面试小册在Github上爆火

Java你猿哥

Java 后端 面经 简历 Java工程师

JAVA实战:如何让单元测试覆盖率达到80%甚至以上

Java你猿哥

Java ssm 单元测试 Java工程师 java实战

MySQL中这14个小玩意,让人眼前一亮!

Java你猿哥

Java MySQL 后端 ssm Java工程师

蛇形走线用在哪里,一文告诉你

华秋PCB

信号 PCB PCB设计 布线 滤波

大数据计算引擎 EasyMR:拥抱开源,引领技术创新

袋鼠云数栈

大数据 大数据基础平台

模型训练过程中,混合精度训练稳定性解决方案

Openlab_cosmoplat

模型训练 开源社区

火山引擎VeDI零售行业解决方案 聚焦精准营销场景提升品牌转化

字节跳动数据平台

大数据 云服务 数据平台 企业号 3 月 PK 榜

记一次 rr 和硬件断点解决内存踩踏问题

NebulaGraph

数据库 debug

手把手教你如何使用MyBatisPlus

Java你猿哥

mybatis 实战 Mybatis-Plus

电力行业等保定级评级依据是什么?分为几个等级?

行云管家

电力 等保 等保测评

2023年实用性好的堡垒机推荐

行云管家

网络安全 堡垒机

软件测试/测试开发丨app自动化测试之Appium 源码修改定制分析

测试人

软件测试 自动化测试 测试开发 appium

瓴羊Quick BI数据门户,让管理企业像浏览网页一样轻松

对不起该用户已成仙‖

2023年好用的谷歌浏览器插件推荐(Chrome必备扩展程序) 安装教程

互联网搬砖工作者

矩阵佛萨奇(MetaForce)合约开发源码搭建

薇電13242772558

web3

优秀!阿里甩出GC面试小册,仅7天Github获赞96.9K

Java你猿哥

Java ssm 面经 GC Java工程师

精华抢先看|龙蜥社区操作系统安全两大白皮书即将重磅发布

OpenAnolis小助手

操作系统 白皮书 系统安全 Meetup 龙蜥社区

ChatGPT能否取代程序员?仍然是一个需要认真探讨的问题,对此你怎么看?

兴科Sinco

OpenAPI openai #人工智能 ChatGPT

BugBuilder: 高质量大规模缺陷库自动构建方法

华为云开发者联盟

开发 华为云 补丁 华为云开发者联盟 企业号 3 月 PK 榜

在 Kubernetes 中部署应用交付服务(第 1 部分)

NGINX开源社区

小程序营销模板的发展现状及前景分析

没有用户名丶

小程序

【活动报名】 拥抱公平《 Impact Tech, She Can 》

亚马逊云科技 (Amazon Web Services)

人工智能

聊聊池化层和步长为2的卷积层

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜 卷积层

融合低代码与GPT,微软的又一个神奇颠覆

ToB行业头条

gRPC快速整合SpringCloud

Java你猿哥

Java gRPC Spring Cloud 后端 ssm

开门见山|首期《崖山论“见”》技术 Meetup启程

YashanDB

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