程序員桌子上擺上一個甚至一堆小黃鴨,你可能見過,但你一定會忽視。

你談論着程序員的禿頭、365全季工服,以及和乙方般被動的戀愛態勢,但你從未真正關心過他們。

牧師需要光明,船長需要羅盤,程序員需要鴨子。聖克拉拉縣山景市的Google極客和布達佩斯居民樓裏的洋蔥網絡流氓,桌上都會出現鴨子。

這是一種心照不宣的程序員文化。

儘管早已過了與鴨共浴的年紀,但小黃鴨依然成爲了他們工作中不可或缺的伴侶。

小黃鴨的身影出現在有程序員出沒的任何可能的地點。

在舊金山南灣和洛杉磯西區的流媒體創業公司,與在盧旺達臨時板房搭建電子商務平臺的技術極客,他們身邊的黃鴨沒有區別。

只要是程序員的辦公駐地,就可以尋覓到小黃鴨的蹤跡。

如果沒有,那隻能說明程序員文化還停留在coder coding code的階段。

或許與許多人的想象不同,對於現實中的程序員來說,在很多時候寫代碼牛逼併不是能力的全部,十足耐心調試代碼纔是常態。

打個簡單的比方,懷上只需一晚上,但孕育則需要十個月。

而調試這一過程,在程序員的工作中佔據高達50%~75%的時間。

根據數據記錄分析公司Coralogix的統計,平均來說程序員產出每1000行代碼,就會出現70個bug,而修復bug所花的時間比重新編寫一行代碼要長30倍。

這讓許多程序員意識到,自己在排除bug所花費的精力,往往是抽乾自己所剩不多精力的重要指標。

你花費一天時間編寫出幾千行代碼,卻看到編譯結果Unexpected token ILLEGAL,接着要浪費數天的時間窮舉案例、排查糾錯,然後又繼續重複這個過程。

你覺得自己就是推巨石上山的西西弗斯。

直到把前幾千行代碼都改過後,才發現自己是把倒數第五行的分號誤寫成了中文格式,這種感覺會讓人想把大腦從耳朵揪出來,然後叫一個女巫用冰冷的邪舌把腦溝舔一遍再塞回去。

代碼和bug如影隨形,是這世上不可協調的矛盾之一。

人永遠無法像機器一樣嚴謹,而機器也不具有人類的跳躍思維、聯想能力。

那會不會存在某種方法,可以讓人機之間的溝通達成協調?

答案就是小黃鴨調試法。

做法十分簡單,放空你那塞滿問號的漿糊大腦,將小黃鴨放到顯示器與你之間。

然後對着可愛的小黃鴨,把它當做最好的朋友,當做一個代碼白癡。

對它不留遺漏地解釋代碼,遍歷代碼的所有行,並講得儘可能清晰。

如果你足夠投入扮演講師的角色,或許在你從未想象過的極短時間內,就會得到答案。

“從前程序員要用直尺和C語言手冊排查,有時候還要用錘子輔助,在服務器上貼東方經文加持庇護。”

“現在我們只需要一隻小黃鴨。”

該方法最早被記錄在程序員聖經《The Pragmatic Programmer》,這本書旨在幫助初出茅廬的程序員將技術職業規範化。

中文譯名:程序員修煉之道

事實上,這種作法在教育心理學領域被稱爲費曼學習法,其重點就是將所學知識傳授給他人。

由於需要精確複述你的想法,你將不得不關注此前認爲理所當然的一切,從而引發思考、加深理解。

正如班裏學習最好的同學從不吝嗇給他人講題一樣,他們的收穫遠比你想象的要多。

儘管古早的技術大牛們未曾理解其背後的原理,但卻務實的將其口口相傳。

如果github的北極代碼庫有人類倉位,那它的入場券一定是小黃鴨的樣子。

直到現在,這種原本作爲洗浴伴侶的單品已經進駐大多數碼農的辦工桌,和hhkb鍵盤一樣意義非凡。

你可以在購物平臺的小黃鴨評論下,看到全球程序員對小黃鴨的大力讚賞。

也會看到初入此道者對其伴侶的甄選。

很多編程培訓機構也把小黃鴨當作入學禮,點亮碼農職業生涯的明燈,同時也保住了他們珍貴的秀髮。

當全組人都在爲趕項目而爭分奪秒時,你絕不希望自己拖進度,成爲領導眼中的累贅。

無論你是在BAT搬磚,還是在FAG打工,都不可能一遇到BUG就去找隔壁工位的戰友,因爲他可能也在用最後的那滴精血在debug。

而你又不可能在深夜加班時,打電話給父母或者伴侶,從底層講起代碼。

想象一下,如果你的伴侶或好友,在深更半夜打來電話對着你講94年Intel CPU浮點運算的傳奇bug,與一個從未見過的錯誤狀態碼時,你會不會想掛斷電話?

程序員在敲代碼的路上總是孤獨的。

碼農的生活中多半時間是與機器打交道,和自己做抗爭。

而這時候,小黃鴨的優點體現得淋漓盡致。

對小黃鴨梳理思路不會耽誤其他人,也不會在人羣中引起注意,畢竟搞創造力工作的人自言自語不算新鮮事。

作爲傾訴對象,小黃鴨絕對是最佳人選。

當你從頭到尾講述自己的代碼架構與指針設計後,無須經人指點就能夠找到通往救贖之路的金鑰匙。

當然橡皮鴨不一定要實體,也可以是以數字的形式存在。

例如網站Duckie(即鴨),通過在線鍵入內容,爲困惱的程序員捧哏。

它好像聽懂了機器人三大定律

甚至於,小黃鴨調試法不用小黃鴨來操作,只要你願意,你可以在工位上對着一堆迪克傾訴。

如果童心未泯,你也可以在工位上擺上一個大號的娃娃來傾吐衷腸訴解煩憂。

但前提是,你已經找好了下一份工作。

作者:beebee 星球

相關文章