您当前的位置:首页 > 百宝箱

肯特·贝克:改变人生的代码整理魔法

2024-11-05 15:24:51 作者:石家庄人才网

本文的作者肯特·贝克,是软件开发界的传奇人物。作为敏捷开发的先驱之一,极限编程和测试驱动开发的创始人,他对全球软件开发产生了重大影响。现在,他在Facebook致力于代码的整理和重构工作。

这个星期,我沉浸在Facebook的代码世界里,深深地热爱着我的工作。在我的职业生涯中,我已经整理了数以千计的代码小时,并有一套自己的规则,让这个过程更加安全、有趣且高效。

代码的整理并非一蹴而就,而是通过一系列短小而安全的步骤逐步进行。实际上,我的第一条规则是:如果感觉困难,那就不要去做。我曾在晚上玩填字游戏,如果卡住了,我就会去睡觉。第二天晚上,那些之前难以发现的线索往往会变得简单。面对困难,我选择停下来,而不是强行突破。

整理代码时,我们可能会陷入一种错觉:我们失去的似乎比赢得的更多。对此,我的第二条规则是:当你精力充沛时开始工作,当你感到疲惫时停下来。起来走走,如果还没有恢复精神,那就结束当天的工作。

要在开发过程中同步进行整理工作,我们需要密切关注其他变化(将其与最新的差异区分开)。我的第三条规则是:立即完成每个环节的工作。与功能开发不同,整理工作是一点一点完成的。

在整理的任何阶段,我只需付出适中的努力,因此我会在遇到困难时放弃并恢复。我的第四条规则是:两次失败后恢复。如果我修复失败,我会立即恢复到上次已知的最佳状态。

即使没有新的闪亮设计愿景,整理也是有用的。有时我想看看事情会如何发展,所以我的第五条规则是:实践。执行一系列的整理和还原操作。第二次会更快,因为你已经熟悉了避免陷阱的方法。

整理工作只有在附带损害的风险较低,审查整理变化的成本也较低时才有效。我的第六条规则是:隔离整理。如果你在编写代码的过程中错过了整理的机会,接下来可能会很困难。要么完成并接着整理,要么还原、整理并修改。

尝试这些规则吧。将临时声明的变量移动到其首次使用的地方,简化布尔表达式(例如将“return expression == True?”简化),提取一个助手函数,将逻辑或状态的范围缩小到实际使用的地方。

规则的尾声是,通过严格的整理,我改变了架构并提取了框架。这种方式可以安全地进行重大改变。我认为这是因为虽然每次整理的成本是固定的,但回报却是指数级的。我期待着数据和模型来支持这个假说。

本文出自肯特·贝克在Facebook的分享:“代码整理的魔力”。译者为geekpi,并经wxy校对。

版权声明:《肯特·贝克:改变人生的代码整理魔法》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/baibaoxiang/27383.html