调试一段代码两个小时都没搞定,继续死磕还是寻找其他方式?

hi~好久不见,在家办公的你们还好吗?

听闻有人克服着网络不好、工作环境嘈杂的困难,已经连续待机 20 几个小时了。没办法,疫情当前,这点困难不算啥,该克服的还是要克服。实在不行,试试番茄工作法,提高工作效率的同时,还能放松心情,远离焦虑,免得变成没感情的工作机器(虽然我们已经是了,so sad)。

如此非常时期,每个在家办公的人都是一座孤岛,他们的心灵都需要被拯救。就在前几天,零零妹看到《流畅的Python》作者 Luciano Ramalho 发了一条推,他正在创作《流畅的Python》第 2 版,兴奋之余,眼尖的我还发现了一个好东西——那只小黄鸭。

图源:@Luciano Ramalho form Twitter

对于程序员来说,有时候为了调试一段代码,可能会困在代码里几个小时甚至是几天。有的人继续死磕直到用光了所有力气,还有的人在自己想不通的时候,会跟同事说说,试图寻求帮助。但是当他们刚把问题说完,甚至说到一半的时候,可能就已经想到答案了。于是他们赶紧回到工位,留下同事一脸茫然......

其实,这个过程就是橡皮鸭调试法(或者是小黄鸭调试法)啦。面向一个无生命的对象解释你的问题所在,并且在这个过程中找到解决问题的方法。这可比继续死磕要好用得多。你可以找到一些无生命的物体,或者愿意听你说的同事、女朋友(不建议)等,这样看来还是拥有一只小黄鸭更靠谱。

@Nutty Swiss form Twitter

小黄鸭调试法最早源于《程序员修炼之道》书中的一个故事。传说中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码。

为什么小黄鸭会起作用呢?因为你在向它陈述问题时,会将复杂的部分分解为较小的块。比如:

我:“鸭,为什么我的电子邮件没有发送?”
鸭:“ ...”
我:“当有人在我的网站上填写联系表格时,会自动生成电子邮件,然后应将其发送给网站管理员...”
鸭:“ ...”
我:“ 天呐!我知道了,我正在使用错误的变量!”

有时候,大家只见树木不见森林,程序员对代码了解之深,以至于无论一些问题有多明显,都再也看不到问题的所在。

另外,大声说话也可以帮助大家用不同的方式听到自己的想法。

那究竟小黄鸭调试法要怎么样操作呢?Rubber Duck Debugging 就给出了详细教程。

图源:Rubber Duck Debugging

首先,不管你用什么办法,先找到一只可爱的橡皮鸭。然后,郑重地把鸭鸭放到桌子上,告诉它,你需要它帮忙检查下代码。最后,你就可以向它解释你的代码本来是用来做什么的。当你告诉小黄鸭下一步需要做什么的时候,就会意识到有些可能不是你想要的。于是,小黄鸭就会用心电感应告诉你 bug 在哪里啦~

它不会抱怨,也不会嫌你烦,安静地坐在那里,深藏功与名。

图源:Twitter

以下就是各种小黄鸭使用指南,仅供参考。如果你的鸭子没有带回家,也可以找找身边的盆栽、玩偶等代替,都没有的话,惨叫鸡也可以。不过你 debug 之前要告诉老妈一声,不然她会以为你疯了。

图源:soogif.com

@A君:小黄鸭调试法真是太有用了!!!!讲完了之后我一直在思考我当年写代码的时候脑子是不是被灌了不明液体.jpg。

图源网络侵删

@B君:我同事不理我了。于是我经常对着他的小黄鸭屁股说:“感谢你成为我的橡皮鸭。”(苦笑)

图源:微博@simila考完试辣

@C君:“面向小黄鸭编程,做的最多的就是拍大腿:“Oh, no!当时写代码的脑子一定进过水,嫌弃自己+10086。”

图源:Twitter

@D君:我同事现在已经习惯了对自己说话,所以他们现在大部分时间都忽略了我,小黄鸭比人好用系列。

@MS form Twitter

你的猫也许是个好帮手,说不定它等不及要上手帮你修 bug 啦!

@Dan Salvator form Twitter

好啦!我知道我一定不是第一个安利你小黄鸭调试法的人,因为疫情期间在家办公担心大家孤单烦闷,如果你不用小黄鸭来调试,那么对它说说心里话也是极好的鸭!

在家办公,除了对小黄鸭诉说 bug 衷肠外,也顺便推荐大家几本书,提高工作效率,也适合大家在工作之余为自己充电。

累计销售40余万册,一本能改变你生活的书

《番茄工作法图解》

作者:Staffan Nöteberg

译者:大胖

番茄工作法是时下最流行的时间管理方法之一,《番茄工作法图解》一书是作者Staffan Nöteberg根据亲身运用番茄工作法的经历,以生动的语言,传神的图画,将番茄工作法的具体理论和实践呈现在读者面前。番茄工作法简约而不简单,在番茄工作法一个个短短的25分钟内,你收获的不仅仅是效率,还会有意想不到的成就感。

以科学、有趣的方式掌握高效能思维方式

《高效能人士的思维方式》

作者:David Rock
译者:肖诗尧

本书将通过大脑喜欢的方式——讲故事,讲解关于大脑的新发现,从而帮你了解大脑,知晓如何更聪明、更高效地管理时间,提高工作、生活中的表现。全书宛若一部四幕戏剧。第一幕名为“问题与决策”,主要谈思维的基本原理,了解如何在大脑的局限性下工作。第二幕名为“面临压力保持冷静”,探讨情绪和动机及其对思维的影响,避免让大脑受到过度刺激。第三幕名为“与他人合作”,介绍如何与他人更好地相处,重点解读奖励最大化和威胁最小化原则。第四幕名为“推动改变”,聚焦如何改变他人。最后的“返场”对相关理论要点进行了总结,同时也探讨了这项研究可能带来的更广泛的影响。

美亚评分4.5

科技先锋的传奇故事 

《硅谷之火》

作者:迈克尔·斯韦因,保罗·弗赖伯格

译者:陈少芸 , 成小留 , 朱少容 

本书是一部微型计算机发展史,让读者了解整个 20 世纪以及至 21 世纪初计算机从兴起到鼎盛直至今天受到平板电脑和手机等电子产品冲击的整个过程,是一本集历史故事与小说风格于一体的硅谷纪传体书籍。最新第 3 版重新修订了全书内容,增加了计算机发展史上的几位大佬退出舞台后的计算机行业现状分析。

美国亚马逊、纽约时报超级畅销书

《黑客与画家》

作者:保罗·格雷厄姆

译者:阮一峰

本书是硅谷创业巨子保罗·格雷厄姆的文集。虽然黑客从外表看上去一般都是呆呆的,但是他们的大脑内部却是一个有趣得让你吃惊的地方。翻开本书,随着硅谷创业与技术大师敏感而丰富的内心,重新认识你所身处的世界。内容涉及思想意识、设计、互联网、IT技术,以及创业等。

给出解决问题的关键所在

快速有效提升思考能力

《你的灯亮着吗?》

作者:Gerald M. Weinberg,Donald C. Gause

译者:俞月圆

温伯格是软件领域著名的专家之一,所著书籍长年畅销不衰。本书分六个主题。每个主题都有若干生动有趣而又有警戒意的故事作为主线,通过对故事中实际问题的解决,引申出作者对于问题解决领域的重要观点,为人们思考能力的提高提供了一些启迪性的帮助。

文末畅聊

小伙伴们留言说说自己被代码卡住的时候都是怎么搞定的?或者留言说说最近这一周在家办公有什么新的收获,也可以推荐给其他小伙伴好用的工具或者图书等。精选留言选出 5 位,获得以上赠书一本,留言截至2020.2.19。

PS:提前预告一个好消息,2.17号起天猫限时促销,图灵图书不限品类5折购。准备对新书下手的小伙伴可以先准备好购物车啦!

另外,疫情期间,为了保障大家阅读不间断,我们的书在京东、当当、天猫等网店货源充足,有需要的小伙伴可自行下单。特殊时期希望大家多读书、少焦虑,待到春暖花开,我们一起进步!

题图来源:freepik.com

推荐阅读:

26岁创造UNIX,退休后却成为一名飞行员,这位编程界大佬不走寻常路

2020年图灵教育重磅新书预告,本本都让人无法割舍

未发售已销 1000 本,这本反爬虫专题书火爆编程圈

你大爷还是你大爷,C语言成为2019年度编程语言

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
04-22 31

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值