写点什么

向管理层解释重构

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

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

关注

评论

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

【LeetCode】变位词组Java题解

Albert

算法 LeetCode 7月日更

性能测试误差分析文字版-上

FunTester

性能测试 自动化测试 接口测试 测试框架 测试开发

Vue进阶(幺幺捌):CSS3 - 选择器first-child、last-child、nth-child、nth-last-child、nth-of-type

No Silver Bullet

Vue 7月日更

Vue进阶(幺叁贰):ES数组操作:数组合并

No Silver Bullet

Vue 7月日更 数组合并

【Flutter 专题】83 解自定义 ACEWave 波浪 Widget (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

架构实战营模块二作业

maybe

架构实战营 - 模块二作业: 分析微信朋友圈的高性能复杂度

Julian Chu

#架构实战营

Spring源码解析 -- SpringWeb请求参数获取解析

Java spring 源码解析

你真的了解 Session 和 Cookie 吗?

陈皮的JavaLib

Java HTTP session Cookie

[架构实战营一期] 模块二作业

trymorewang

架构实战营

架构实战营 - 模块二作业

思梦乐

性能测试误差分析文字版-下

FunTester

软件测试 性能测试 接口测试 测试框架 测试开发

编程的本质是什么?

白色蜗牛

Java 编程 程序员 软件 计算机

Go语言:sync包控制并发详解!

微客鸟窝

Go 语言

【Java特性专题】JDK(8-11)特性分布变化简介

码界西柚

Java Java新特性 7月日更 Java11

2.2如何设计高性能架构

Lemon

高性能架构

Selenium4 Alpha-7升级体验

FunTester

maven 自动化测试 Gradle 测试开发 selenium

面试算法之螺旋数组查找问题

泽睿

面试 二分查找

2.3如何设计高可用架构

Lemon

存储高可用

微信朋友圈架构设计

summer

极客时间 极客时间架构师一期

Presto原理&调优&面试&实战全面升级版

王知无

【架构设计模块二】:微信朋友圈的高性能复杂度

Ryoma

架构实战营

生产环境踩坑系列::Hive on Spark的connection timeout 问题

dclar

spark hive hive on spark

external-resizer源码分析-pvc扩容分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

架构实战营模块二作业

老猎人

架构实战营

基于P4的SCION -- 构建太比特的未来互联网

俞凡

网络

[架构实战营][模块二作业]

KK_TTN

架构实战营

性能测试误差统计实践

FunTester

软件测试 测试 性能测试 测试开发

智能运维系列之五:总结

micklongen

AIOPS 智能运维

在线XML转JSON工具

入门小站

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