写点什么

个体重构:将重构应用到生活中

  • 2015-11-24
  • 本文字数:1518 字

    阅读完需:约 5 分钟

Bryan Beecham Agile Testing Days 2015 敏捷测试大会上以个体重构作主旨发言。InfoQ 就个体重构如何帮助我们来改善我们的生活,它与代码重构的关系,为什么他认为健康饮食很重要,敏捷团队如何从中受益以及人们可以从哪里找更多关于自我提升和个体成长的信息这几个问题来采访他。

InfoQ:你能简单地向 InfoQ 的读者介绍一下个体重构吗?

Beecham: 个体重构是一种软件重构原理在人体上的运用。虽然个体重构与生物黑客有所类似,它还包括了一个不断完善的过程。通过这个不断完善的过程,我们能强健身心这种用来创建更优质软件所使用的技术可以运用在我们生活的很多方面,包括财务、学习能力以及绩效。一个经过个体重构完善的个体可以取得很多成效,这些成效能影响到他们的团队、公司以及社会。

InfoQ:你能举出几个个体重构有助于改善生活的例子吗?

Beecham: 举个最简单的例子就是能改进我们对食物的选择。在早晨叫人起床以及彻底改变一个人的饮食方式是很困难的。我们所能做的就是在你的日常饮食上做细微的改进。我们的每一个抉择都会产生或好或坏的影响。随着时间的推移,这些对自身有利的选择能使我们的生活变得更好。

InfoQ:你能详细的说明个体重构和重构代码的关系吗?

Beecham: 他们的共同点在于这两个过程都涉及改变系统,以改善内部结构和设计的方式,来最大限度地减少错误的引入。隐喻常常会运用在软件开发领域,这些相同的隐喻同样也可以帮助我们来改进自身的不足之处。我们可以通过诸如测试等一些技术手段帮助我们来实现我们的目标。重构的目的在于创造可以正常运行的整洁的代码。而个体重构的目的在于通过帮助人们改进自身的不足之处来挖掘内在潜能。

InfoQ:你有一些发布在 HumanRefactor.com的博客内容是关于健康饮食的。请问你能解释一下为什么你认为它很重要呢?

Beecham: 你的身体就像一个建筑工地。只有当你提供材料之时,你才能在上面建造房子。好的建筑材料能造出更完美的建筑物。如果你缺少必要的材料,你的身体就会拆用自身其他的配件来填补空缺。在软件开发领域有这么一句俗语,“若输入错误数据,则输出亦为错误数据。”我会买诸如草饲牛肉、有机水果和有机蔬菜等昂贵的食物。我想成为我能做到的最棒的人。我经常会问别人这样一个问题,“你是想要生存还是要茁壮成长?”

InfoQ: 个体重构如何使敏捷团队受益?

Beecham: 一个好的团队可以有效地相互合作、相互影响。一个个体的改进可以导致一个团队的改进。就像结对编程和群体程式设计那样,在个体重构中,我鼓励人们把他们的同事、朋友和家人加入进来。我知道在加利佛尼亚州就有这样的一个团队,他们在午餐的时候一起行走并且在墙上贴了一张瘦身成果的汇总表。与从个体角度进行思考相比,当我们能从一个团队的角度进行思考,我们能取得更多成果。

InfoQ:如果人们想要了解更多关于自我提升和个体成长的资讯,有什么博客或者网站你能推荐他们去浏览吗?

Beecham: 我会推荐他们下面这三个比较好的资源:

尽管在网上能找到大量的资源,但对于刚开始了解这方面的资讯的人,这三个网站会更好。它涵盖了你想了解的所有的关于怎么编程和怎么生活的内容。

我也与他人一起工作,通过为他们量身定制个体重构的进程来单独指导他们。

查看英文原文: Human Refactoring: Applying Refactoring to Your Life


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2015-11-24 18:002047
用户头像

发布了 218 篇内容, 共 79.8 次阅读, 收获喜欢 76 次。

关注

评论

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

Docker Swarm从部署到基本操作

程序员欣宸

Docker Docker Swarm 10月月更

Qt|QListWidget实现自定义Item效果

中国好公民st

c++ qt 10月月更

java之字节型文件流笔记

魏铁锤

java 编程 10月月更

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

面试官:深度不够,建议回去深挖

小傅哥

Java 程序员 面试 小傅哥 招聘

React-Hooks源码深度解读

goClient1992

React

react源码分析:实现react时间分片

flyzz177

React

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

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

Geek_b35d92

react源码分析:深度理解React.Context

flyzz177

React

大数据ELK(二十八):制作Dashboard

Lansonli

10月月更

这几道const和iota的面试题你能做对吗?

王中阳Go

Go 面试题 const 10月月更 go基础

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

Geek_b35d92

React-hooks面试考察知识点汇总

beifeng1996

React

美团前端vue面试题(边面边更)

bb_xiaxia1998

Vue

React源码分析(一)Fiber

goClient1992

React

用PM2做Python进程管理也太好用了吧

芥末拌个饭吧

进程 pm2 10月月更

Go如何优雅的对时间进行格式化?

王中阳Go

Go golang 学习方法 golang 面试 10月月更

$nextTick的原理是什么-vue面试进阶

bb_xiaxia1998

Vue

redis设计成单线程的原因是什么

芥末拌个饭吧

后端 redis 底层原理 10月月更

你知道Redis是如何保持数据一致性吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

从0到1设计通用数据大屏搭建平台

vivo互联网技术

大数据 可视化 低代码平台 敏捷BI

华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务

TiAmo

华为 华为云 云开发 10月月更

模块二作业:微信朋友圈复杂度分析

愚人夜行者

腾讯前端高频面试题合集

loveX001

JavaScript

一天梳理React面试高频知识点

beifeng1996

React

Vue是怎样监听数组的变化的?

bb_xiaxia1998

Vue

关于马蹄链项目系统开发流程及技术方案分析

I8O28578624

水果成篮问题

掘金安东尼

算法 10月月更

你用Go写过中间件吗?带你用Gin实现【用户角色权限管理中间件】

王中阳Go

golang MySQL 学习方法 高效学习 10月月更

个体重构:将重构应用到生活中_研发效能_Ben Linders_InfoQ精选文章