写点什么

向管理层解释重构

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

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

关注

评论

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

Prometheus 运维工具 Promtool (四)TSDB 功能

耳东@Erdong

Prometheus 7月月更 签约计划第三季 Promtool

鲜衣怒马散尽千金,Vue3.0+Tornado6前后端分离集成Web3.0之Metamask钱包区块链虚拟货币三方支付功能

刘悦的技术博客

Python 区块链 Vue 加密货币 虚拟货币

语音聊天app——如何规范开发流程?

开源直播系统源码

软件开发 直播系统源码 语音聊天系统

Starfish Os打造的元宇宙生态,跟MetaBell的合作只是开始

鳄鱼视界

数据库故障容错之系统时钟故障

CnosDB

时序数据库 开源社区 CnosDB 工程师有话说 CnosDB Tech Talk

算法题每日一练---第12天:算式900

知心宝贝

程序员 算法 前端 后端 7月月更

Linux操作系统下Docker的完整部署过程

Java永远的神

Docker 程序员 架构 程序人生 云原生

什么样的知识付费系统功能,更有利于平台与讲师发展?

CRMEB

Bootstrap警告和轮播插件详解【前端Bootstrap框架】

恒山其若陋兮

7月月更

机器学习如何做到疫情可视化——疫情数据分析与预测实战

是Dream呀

人工智能 机器学习 爬虫 数据可视化 疫情分析

一文读懂Plato Farm的ePLATO,以及其高溢价缘由

股市老人

精品方案|海泰方圆全栈式数据安全治理方案 为数据设一把“安全锁”

电子信息发烧客

数据中台建设(三):数据中台架构介绍

Lansonli

数据中台 7月月更

巧用ngx_lua做流量分组

转转技术团队

nginx

【函数式编程实战】(十) 优雅的处理代码中的时间类

小明Java问道之路

Lambda java8 Stream API 7月月更 签约计划第三季

Redis设计规范

知识浅谈

redis' redis 精讲

C# 之 方法参数传递机制

陈言必行

7月月更

C# 窗体应用使用对象绑定 DataGridView 数据绑定

IC00

C# 7月月更

谈谈基于JS实现阻止别人调试通过控制台调试网站的问题

南极一块修炼千年的大冰块

7月月更

本地化、低时延、绿色低碳:阿里云正式启用福州数据中心

阿里云弹性计算

公有云 本地Region

汽车智能应用生态的下一个趋势:车载小程序

Geek_99967b

车联网 物联网,

Linux环境快速搭建elasticsearch6.5.4集群和Head插件

程序员欣宸

Java elasticsearch 7月月更

《我的Vivado实战—单周期CPU指令分析》

攻城狮杰森

cpu 计算机组成原理 7月月更 vivado 计算机科学与技术

新闻速递 | MobTech袤博科技参与中国信通院“绿色SDK产业生态共建行动”

MobTech袤博科技

数据安全 sdk

API 网关 APISIX 在Google Cloud T2A 和 T2D 的性能测试

API7.ai 技术团队

网关 API Gateway 谷歌云 网关性能测试

MySQL进阶--存储过程以及自定义函数

Java学术趴

7月月更

Starfish Os X MetaBell战略合作,元宇宙商业生态更进一步

股市老人

Qt | 信号和槽的一些总结

YOLO.

qt 7月月更

定了!就在7月30日!

腾源会

开源

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