我不是個內向的程式設計師,我只是很忙

發表於2014-03-20

最近幾個星期,我一直在跟一個十分詭異的bug做鬥爭。我的一個服務端程式,它要跟另外一個服務保持持久的連線,要認證終端使用者,然後執行一系列的資料操作。


不知為什麼,時不時的,這個程式會丟失socket連線。也不是經常發生,但也不是很罕見,就是過一段時間,執行這個服務的機器就會資源耗盡,無法響應——因為積壓了太多的無法處理的請求。

這個問題快把我搞瘋了;我找不出問題出自哪裡,我的時間全被這個問題佔用了,一邊盯著要在服務徹底當機前重啟它,一邊來回分析這段程式碼。就是這段,讓我來展示給你看….

等一下。

這裡不是我的辦公室。我沒有坐在辦公桌前。電腦也不在身邊。我他媽的在什麼地方?

四周都是人。很鬧。看起來像是一個Party。

嗨,我的手為什麼溼了?哦,看,是一杯飲料;黑的,透亮,看起來像是一杯可樂。沒錯,是可樂。很涼,但裡面沒有冰塊。白色的小餐巾紙浸透了,它的邊緣被我用手揪的粉碎,所以我猜我已經在這待了好一陣了。

沒錯,現在我記起來了。這是公司同事的聚會,是Dan邀請我來的。是有人過40歲生日,也許是50。我記不清了。Dan是個不錯的人,但我們的性格大相徑庭,他是個話癆。估計他以前是賣保險的。

還好,在這裡,我不需要穿西裝。而且也不需要穿的像電梯旁邊的那個傻冒那樣。真的,為什麼要在Party上穿連帽衣呢?

不過,誰會在意呢。他已經按了電梯,所以他很可能打算出去。哦,不,老弟,別在用iPhone看Facebook了,電梯門就要關了。燈滅了,你錯過了這趟。哈哈,你就是個傻冒,你…

哇噢。

哇噢。

他不留神。他錯過了電梯。

我敢跟你打賭,這就是我程式碼裡的問題。如果遠端服務掛了,而我還在等待接收認證碼,應用沒有收到通知,於是報錯,socket丟失。

就是這樣。兩個星期的折磨,找到問題的靈感竟然來自一個到處都是買保險的人的公司Party上。還有在手上的一杯走了氣的可樂和一張撕碎的紙巾。

我也許因該現在就走,回去驗證一下我的靈感。但我也不想被人認為太不禮貌…我需要找個時機,神不知鬼不覺的溜出去。我不能再待在這裡了。我已經被這個問題折磨的太久。

哦,見鬼。Dan走過來了。他樂呵呵的,後面還跟著一個老傢伙。

唉。我估計走不掉了。他們真的是要過來和我聊天嗎?Dan,我不愛說話,你不知道嗎?我祈禱Dan改變主意。我不能在這浪費口舌,說不定這絕妙的靈感在我坐到鍵盤前時會消失的無影無蹤。

嗨,這是你們的CEO。哦,是嗎。很高興見到你。面帶笑容。微鞠一躬。點頭。我一定是快把那個該死的電梯和認證碼給忘了。沒錯,Dan是一個不錯的傢伙。哦,他跟你說到過我?真是好人。我相信他一定沒告訴你關於那個該死的bug的事,你們在阻擋我去徹底的解決這個問題,只有解決了它我才能終於睡上一次好覺了。

終於,他們走了。我很可能把這次談話搞砸了,通常都是這樣。他們可能會認為我腦子有問題。或不善交際。我現在真的毫不在意,因為我終於找到這個該死的bug的原因了。

我還是趕緊呼叫電梯吧,以免又有哪個天才的傢伙試圖過來浪費我的時間。我不會錯過這趟電梯。我搞定了一個bug!

評論(2)

相關文章