介绍: 你好,我是李攀,欢迎来到硅谷新发现。
今天是我们的硅谷人物志时间,每期一个人物,为你探秘硅谷大佬的最新动态,以及他们取得成功的秘密。
今天我们给大家介绍的是一名在硅谷很著名的工程师,叫做安德鲁•亨特。
他是一个很厉害的程序员、作家。他写的《程序员修炼之道》这本书影响了很多人。
他对程序员们帮助最大,而且最能被...
介绍: 你好,我是李攀,欢迎来到硅谷新发现。
今天是我们的硅谷人物志时间,每期一个人物,为你探秘硅谷大佬的最新动态,以及他们取得成功的秘密。
今天我们给大家介绍的是一名在硅谷很著名的工程师,叫做安德鲁•亨特。
他是一个很厉害的程序员、作家。他写的《程序员修炼之道》这本书影响了很多人。
他对程序员们帮助最大,而且最能被借鉴的方法就是小黄鸭调试法。
那么什么是小黄鸭调试法呢?
这其实是个程序员修改代码的故事。在这个故事里面,有一名程序员大师,他喜欢随身携带一只小黄鸭,这是为什么呢?
因为作为一个程序员,在写代码的时候总会遇到一些思路不通顺的情况,而大部分的人则会在那边苦思冥想,抓破了脑袋可能也想不出哪里出问题了。
而这位大师在遇到这种情况的时候,就会把这只小黄鸭放在桌上,一边看代码一边详细地向小黄鸭解释每行代码的意义,借此带给他带来灵感,从而发现问题所在。
这使得小黄鸭调试法迅速的在程序员之间流行起来。
通常在调试、测试、纠错过程当中,程序员们都会想到它。
为什么这个方法会流行呢?
其实作为一名程序员,基本上都有这样类似的经历。
比如在写代码的时候,遇到Bug或者说被问题卡住了,对着一个东西或者拉个人过来,和他blablabla讲了一遍,很多时候中途你就找到了解决的办法。
而这个方法其实就是强迫自己把遇到的问题详细地解释出来,并且一定要说出来才能起到效果。
所以说“小黄鸭”只是一个形式,其主要的目的是要让程序员自己给自己写的代码做“检查”,也就是自己解释给自己听。当然,为了避免自言自语看起来很奇怪,所以还是需要有一个诉说的对象。
当你找不到小黄鸭的时候,你身边的任何物体包括水杯、植物等等都可以当做小黄鸭。当然,你也可以找你的同事、朋友来做这个小黄鸭,但是可能使用真人的效果会打一些折扣,因为他们在听你解释的时候,会发表自己的看法,这样可能会影响到你本来的判断。
那我们能从这个方法当中学到什么呢?
我们可以将小黄鸭调试法拆成两个点。
第一点就是:寻找一个可以帮你回顾问题的方法。
在小黄鸭调试法中,这个方法就是“说”,将你的代码解释给小黄鸭听,就是强制着自己重新再看一遍,再回顾一遍自己所做的事情。
当然“说”这个方法不仅仅只适用于程序员,很多人都可以使用这种方法,其中也包括很多名人。
比如说传奇物理学家理查德•弗曼就用过这种方法,他喜欢将自己的想法解释给小朋友听。
给小朋友讲故事你肯定不会用到十分复杂的语言来描述事物,这样就强迫他必须更深层次的理解这个原理,并且如果你在什么地方遇到了问题,那么这就是你需要继续学习的地方了。
总而言之“说”这个动作就是帮你回顾的一种工具,我们还可以用其他的方法,比如重新看一遍之前做过的事情。不要觉得回顾是浪费时间,如果因为前面的小失误而导致后面进行不下去的话,还要花大量的时间去修复,的确有些得不偿失。
而我们从小黄鸭调试法学到的第二点就是从基础层面来理解问题。
通过之前的“说”,我们可以发现,将复杂的事情一步步梳理,然后说出每一行代码的意义,就能找到问题所在。
说出每行代码的意义其实就是理解代码的基本,而将这些基本点理解透彻了,才可以解决了复杂的大问题。
而在我们学习中也可以使用这种方法。
而在硅谷,马斯克就是很好地利用了这种方法来进行学习。
被誉为“钢铁侠”的马斯克不仅对电动汽车有研究,还能建高铁、造火箭,在这些高科技领域他都有建树,那么他是怎么快速学习这些知识的呢?
他是这样说的:“在学习的过程中,最重要的一件事就是将知识看作“语义树”,确保自己理解了基本的原理,即主干和大的分支,然后再去琢磨树叶这样的细枝末节,否则,它们会无处存放。”
这里面马斯克就是从事物的最基本原理入手,大家可以把语义树想象成一棵树就好了,基本的原理以及知识就是这棵树的树干,而进一步深入的东西就属于树枝、树叶了。
所以想快速学习好一门学科或者做好一件事情,我们还要从最基本的基本点出发,深入了解透彻后才会有更高的建树。
所以总结来说,小黄鸭调试法的最主要目的就是回顾,并且从最基本的层面去理解代码,而过程则是一边阐述代码的意图、一边观察它实际的意图并做调试,这两者之间的任何不协调会变得很明显,并且更容易发现自己的错误。
知道了方法,那作为个人,我们该怎么样将这个方法用到我们的生活之中呢?
正如我们所说的,小黄鸭调试法并不仅仅适用于程序员,很多职业都可以使用这个方法。
比如说当你在学习的时候,别人问你问题的时候,其实就是一个很好的学习机会,如果你能很轻松的给将题目讲给别人听,并且能够让他听懂,就说明你是真正的理解了其中的知识。
再比如说,你要做一个汇报,当你写完材料的时候,你可以强迫自己读出来,这样就可以检查其中的错误,以防遗漏。
当然,在你做计划的时候,当你草拟了一套流程,你就可以找一个人,一步一步和他讲解自己的方案,做预演,这样其中如果出现什么问题没有考虑仔细,也可以及早地发现。
总结一下,小黄鸭调试法就是工程师在调试或者纠错的时候,将自己所写的代码一行行讲给小黄鸭听,从而找出错误所在,然后解决问题。
这里的“小黄鸭”也只是一种形式,你可以找任何物品或者朋友来当小黄鸭。
而使用这个方法也只有两个目的,第一就是有一种途径来帮助你回顾问题,另一个就是要从基本原理入手去理解问题。
到了最后还是我们的问题环节,除了将需要回顾的问题“说”出以外,还有什么好的方法能帮助我们理解并且回顾问题呢?
欢迎大家留言讨论。
好了,今天就到这里了,咱们下期见。
该节目为付费内容,扫描左侧二维码,
使用最新的安卓或iPhone版本购买后即可畅享。
服务条款| 隐私政策| 儿童隐私政策| 版权投诉| 投资者关系| 广告合作 | 联系我们
廉正举报 不良信息举报邮箱: 51jubao@service.netease.com
互联网宗教信息服务许可证:浙(2022)0000120 增值电信业务经营许可证:浙B2-20150198 粤B2-20090191-18 浙ICP备15006616号-4 工业和信息化部备案管理系统网站
网易公司版权所有©1997-2025杭州乐读科技有限公司运营:浙网文[2024] 0900-042号 浙公网安备 33010802013307号 算法服务公示信息