最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

向管理层解释重构

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

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

关注

评论

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

模块一作业

Geek_85eb5f

0基础架构入门 - 1(架构概述)

felix

架构实战营 0基础架构入门

架构师训练营2期模块一作业

kazeMace

架构实战营

百度地图开发-与地图的交互功能 06

Andy阿辉

android Android Studio Android 小菜鸟 8月日更

如何在 MacOS 上降级 Java 版本

escray

学习 8月日更

架构实战训练营模块 1 作业

斯蒂芬.赵

架构实战营

深入了解现代web浏览器(第二部分)

GKNick

大前端 浏览器

TP6+layui2.6.8开发的管理系统(FunAdmin),内置Curd命令模式 在线更新

funadmin

CMS layui 商城 管理系统 funadmin

在线JSON转HTML,TABLE表格工具

入门小站

工具

模块一作业

bin

微信朋友圈高性能复杂度分析

刘琦Logan

深入虚拟机探索Thread start

4ye

源码 线程 后端 JVM 8月日更

基于java springboot android 安卓报修系统源码(毕设)

清风

Java Android Studio 毕业设计

故事篇:数据库架构演变之路

阿Q说代码

主从复制 读写分离 集群部署 8月日更 垂直拆分

作业

Doctor Blind

架构实战营

Pulsar 周报 2021-08-09 ~ 2021-08-15

Apache Pulsar

Apache Pulsar StreamNative

Coffee学架构:架构设计001(怎么做架构设计)

咖啡

架构设计实战

模块一作业:微信业务架构图与学生管理系统毕设架构设计

apple

模块1作业

atob

架构实战营-模块一作业

Alex.Wu

架构实战☞ 微信业务架构&学生管理系统架构设计

眼镜盒子

架构实战营

微服务的痛:用实际经历告诉你它有多坑(三)

我爱娃哈哈😍

微服务 架构设计

我的学生管理系统

白开水又一杯

#架构实战营

架构实战课程 模块一作业

Frank

模块一

Tim

架构实战营

拆分电商系统为微服务

tjudream

微服务 电商 拆分

Vue进阶(七十二):css 样式中 逗号、空格、冒号、点号、~、>的区别

No Silver Bullet

Vue 8月日更

【架构训练营】【模块一】【作业】【微信业务架构】【学生管理系统架构】

简直走不拐弯

极客时间 作业 架构训练营

Linux之seq命令

入门小站

Linux

架构实战营模块一作业

李焕之

linux笔记:极简方式安装mysql,建议收藏

小鲍侃java

8月日更

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