硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

向管理层解释重构

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

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

关注

评论

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

玉米可流转数字仓单标准的落地 将加速行业的资产数字化进程

CECBC

Kotlin语法手册(一)

寻找生命中的美好

android kotin

Web Components 系列(五)—— 关于 Templates

编程三昧

前端 组件化 2月月更

基于 Kyma 的企业级云原生应用的扩展案例分享 | 社区征文

汪子熙

Kubernetes 云原生 新春征文 2月月更 Kyma

DC系列靶机知识点总结

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

浅析PHP伪协议在CTF的应用

喀拉峻

网络安全

Linux系统编程-(pthread)线程通信(自旋锁)

DS小龙哥

自旋锁 2月月更

iOS开发·备战2022金三银四-runtime原理与实践: 消息转发详解篇

iOSer

ios runtime iOS面试 ios开发 金三银四跳槽

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

炎彬

「架构实战营」

电商直播选品该怎么做?有没有好用的工具?

优秀

带货 直播 低代码开发

模块八作业

Geek_e6f7f6

架构实战营

第十节:SpringBoot中的日志管理

入门小站

spring-boot

项目遇到突发问题,如何给上级做汇报?

石云升

项目管理 项目经理 2月月更

基于云开发的健身房预约小程序平台

CC同学

【架构训练营模块二作业】分析一下微信朋友圈的高性能复杂度

yhjhero

#架构训练营

区块链通证经济:通往未来十年财富分配的新格局

CECBC

在线ASCII Banner艺术字生成工具

入门小站

工具

关于 docker-compose stop 和 docker-compose start 的误解

liuzhen007

容器 云服务 2月月更

区块链+体育发展提速 区块链球员数据系统预计上半年投入使用

CECBC

跨平台移动APP开发进阶(一):mui开发注意事项

No Silver Bullet

App 跨平台 2月月更 mui

阿里云张献涛:自主最强DPU神龙的秘诀

阿里云弹性计算

阿里云 神龙架构 DPU

裁员,降薪,大牛出走:AI大退却的始末缘由

脑极体

欧拉的奇异之旅·风暴来临与欧拉初诞

脑极体

验收测试驱动开发后记

Bruce Talk

敏捷 Agile User Story

Linux系统编程-Shell脚本基本使用(变量、运算符、语句等)

DS小龙哥

shell脚本编写 2月月更

Web Components 系列—— 详解 Slots

CRMEB

DevOps进阶(二):DevOps 发展史

No Silver Bullet

DevOps 2月月更

网络安全kali渗透学习 web渗透入门 如何进行基于ping命令的探测

学神来啦

RTE2021 回顾丨实践中的摸爬滚打,AI OPS 落地之路

声网

人工智能 算法 Ops

Apache APISIX 存在改写 X-REAL-IP header 的风险公告(CVE-2022-24112)

API7.ai 技术团队

IP 漏洞 Apache APISIX APISIX 网关

Linux系统编程-(pthread)线程通信(信号量)

DS小龙哥

信号量 2月月更

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