如何在debug的同時保持溫柔屬性?

當debug不出來的時候,如何對身邊的人仍能保持溫柔相待。


可以這樣想,代碼雖然是自己寫的,但從法律的層面看,這是誰的代碼?

是公司的代碼。

所以代碼里的bug是誰的?

是公司的bug。

公司是誰的?

老闆的。

所以公司的bug是誰的?

是老闆的bug。

找bug,就是找茬,找老闆的bug,就是找老闆的茬。找老闆的茬,老闆能怎麼辦?

沒辦法,還要付你錢。

吹著空調,上著網,看著stackoverflow,拿著老闆的錢,找著老闆的茬,只能這麼爽了。

摸摸嘴角,如果笑了,就又溫柔了一點點。


哈哈哈這個問題實在戳中笑點,滾進來廢話幾句。


我工作的時候就時常需要debug自己和別人造出來的bug,時常會沒啥進展然後進入狂暴模式。這個時候我最希望周圍的人不要做的事情就是:

  • 別人:(說了一大段話但是我沒聽清楚);我:嗯?剛才說什麼了?;別人:都不關心一下,哼
  • 別磨蹭了,快去洗碗! / 快去洗澡! / 快去睡覺!…
  • 強調生活工作平衡,生活才是重點
  • R大,這個問題我邀請你了好久了,你怎麼都不理一下,這麼擺架子!

(其實前三條在我目前為止的人生中主要是來自爸媽好不。)

而我最希望發生的情況:有同行正好湊過來,然後我就開始吐槽這bug怎麼調不通,然後要麼在黃鴨調試法過程中就把問題理清楚了,要麼對方一句話就把關鍵問題指出來了,簡直完美哈哈哈!

(幸運的是自己的工作經歷中除了一份工作外,其它以前和現在的工作環境中都總有這樣的同事/室友。感謝你們!)


實際最常發生的狀況是:我走到儘可能不影響別人的地方然後捶胸頓足大暴幾句粗口,然後回到座位上拿出草稿本重新畫圖整理思緒。實在不行看一話動畫降一下壓再繼續。


喜愛編程的人會把 bug 當作是謎語、IQ題、挑戰,通過觀察、猜想、推理、試驗等方法,在解決後會獲得成就感,並考慮如何在未來避免遇到類似的 bug,以及能更快解決同類 bug 的方法。
Debug 是一種苦差還是樂趣,純屬個人決定。


學會警告編譯器?


debug,無非就是試圖了解未知的問題。所以就用科學的方法做,提假說-&>做實驗-&>證實或證偽假說。就這麼系統地攻擊這個問題,自然就能解決。沒必要帶個人情緒。


tan(π/2)


原來大家debug不出來會暴躁的嗎?


在下有一個小密語,debug到心情煩悶的時候,就會默念「此刻正是修鍊時」。

這個出自文革時候的一個事情,各個地方聽過多個版本,基本這麼個意思吧:

「文革時,一女士被剃了一個陰陽頭,公眾批鬥,當眾羞辱,該女士是當時一位有身份的人,雖說學佛多年,仍難忍如此侮辱,當時死的念頭都有了。禪門大師賈題韜當時遞上一紙條,女士即豁然開朗,破涕為笑,安然度過此劫。紙條就七個字:「此時正當修行時」。遇困境時,謹記此七字真言。」

處理技術問題的時候,保持心情平靜,思維清晰是最重要的,更嚴重的情況,比如客戶端在外網突然瘋狂崩潰,玩家在論壇問候了全項目組時,能夠靜下心來一點點看問題,從容組織同事去定位問題,絕對是需要功夫的。

所以在debug到感覺心裡不平靜的時候,就默念「此刻正是修鍊時」,提高一個維度,看似debug,實則練心境,弄好了就把自己糊弄過去了。

後來也把這個和同事說了,同事也覺得有道理,還有一天一個同事過來和我說:安哥,我這剛好有個bug,你要不要修鍊下。。。


整個過程中沒有人死亡已經是最好的結局了……


換上女裝


安慰身邊的朋友:

不要怕,我只是在Debug而已,最多Debug不出來揍你一頓。


在筆記本和顯示器上貼上紙條:屬於公司財產,損壞照價賠償


我自以為是比較溫柔,可還是經常忍不住捶捶桌子罵兩句。有時情緒就是這樣,你擋不住的,真憋住了,可能還會出毛病。有了情緒,宣洩出來,會更好一些。比如你實在受不住,就罵兩聲艹,沒什麼關係,有什麼關係呢?你說?有什麼關係呢?

那麼,是不是一味罵娘就好呢?不是!要有一個度,還要有一個方式。

很多年前我看過一篇小說,講一個醫生對病人特別溫柔,望聞問切噓寒問暖,病人都感動得不行,大家從沒見過這個醫生冷言冷語、不高興、罵病人,簡直就是完美的化身。

可是有一天早上機緣巧合,有人發現這位醫生很早就出門了,感到奇怪,就遠遠跟在後面。後來到了一條河邊,發現這位溫文爾雅的醫生對著河咆哮謾罵,對著樹拳打腳踢,發泄了一個小時,然後又回來了。上班的時候,依然是那個暖暖的大白。

今天回答這個問題,我一開始想說修鍊心性就可以保持溫柔,後來我忽然想到了這個故事,覺得不對頭啊,為什麼你一定要溫柔?憋死了死自己可不好,一定要給自己找到一個情緒宣洩的出口。只要方式得當、不過度即可。

那麼從這位醫生的故事裡,我看了什麼是不過度和方式得當。關鍵有兩點:

  1. 不要影響到別人,比如對著測試MM罵,比如埋怨上下游的同事,比如干一小時罵一小時拍桌子瞪眼睛干擾別人工作,你可以到樓下抽根煙,你可以下樓轉兩圈45度仰望天空裝個逼。
  2. 不要只顧宣洩,忘了解決問題這個正事兒。換句話說,發泄歸發泄,不要讓負面情緒堆積起來影響調試Bug。這就是度的把握。

這玩意兒也能控制得了的?
圖樣圖森破

Lv.0 內心煩躁 &>
Lv.1 進入抖腿模式 &>
Lv.2 逐個看每個字母每個空格每個縮進 &>
Lv.3 開始對電腦小聲嘀咕 &>
Lv.4 反覆 Ctrl + S、編譯、調試(即使代碼一字未改),內心 OS:沒準哪次調試就過了呢!!&>
Lv.5 大聲嚎叫:「哪出問題了?!這特么也能出問題?!這特么明明沒錯啊?!瑪德這電腦是不是出問題了?!瑪德這編譯器是不是出問題了?!瑪德這環境是不是出問題了?!」 &>
Lv.6 跺腳拍桌子拍鍵盤拍機箱拍屏幕 &>
Lv.7 終極砸桌子砸鍵盤砸機箱砸屏幕 &>
Lv.8 終終極飛去月球瑪德炸了這群弱智地球人類 &>
Lv.9 終終終極召喚二向箔滅了這讓人心碎的銀河系

中間任何一個環節:
產品經理:「小明啊,昨天咱們(我)討論(要求)的那個新功能搞得怎麼樣了?」
測試:「明哥啊,剛發現出一個問題」
過 10 秒鐘...
測試:「明哥啊,剛又發現出一個問題」
過 10 秒鐘...
測試:「明哥啊,剛又發現出一個問題...」

我:

終極警告:遠離 Debug 中的碼農!

最後:端午節快樂!ヾ(^?^)?


一般情況下這種時候都只有下課鈴和我媽出來打擾我,這時就體現出個人能力的重要性了,要麼暫時放下(這得下非常非常大的決心)要麼智商上線把bug突然解決然後整理思路準備第二天繼續肝feature。

我一般是後者


根據經驗,睡一覺可以解決80%的bug


其實這跟兩個元素有主要關係:
1. debug 已用時間
2. 對象

如果剛開始debug,然後被打斷,我一般還是可以接受,先把bug放下,解決問題。

如果debug了幾個小時了,這時候要是被打斷其實是不能忍的,因為這讓你幾個小時的思路又被打斷了,你會忘記剛剛 記錄的過程/調試的信息/變數的值 等等,但是如果是被 女朋友/老婆 打斷,沒事,我重頭再來,如果是其他人,不理。

如果debug了幾天還沒有debug出來,這種時候,我可能暫時聽不懂人話了。


//


此符解百愁。


把出Bug的地方刪掉就行了


debug 出不來非正常問題居多,例如環境兼容性。
遇到這種情況我也沒啥好焦躁的… 通常我會晾一邊 明天或者下次再來解決這個問題,事實證明這樣是超有效的… 下次繼續的時候基本上每次都很快解決或者發現原因了。而 debug 半天發現不了原因還在繼續的話,人不僅會焦躁 還會浪費大量時間。


推薦閱讀:

程序員的優越感從何而來?
IT 工程師被叫「碼農」時是否會不舒服?
如果男性程序員為降低bug 率可穿女裝,那女性程序員應穿什麼?
為什麼程序員無論到哪兒都喜歡背電腦包,哪怕裡面沒有裝電腦?
目前中國頂級優秀的程序員都有誰?

TAG:互聯網 | 程序員 | 編程 | 寫代碼 | Coding |