程序員的最大噩夢是什么?
有國外程序員在 Quora 上提了一個問題:“程序員的***噩夢是什么?”。本文摘編了這個問答貼的多個熱門回復。
Brain Schmitz Software Engineer Intern at Google (2012, 2013), Microsoft (2014), CS major at UT Austin in Turing Scholars honors program
曾經(jīng)遇到過的最惡心的bug:
-
Bug只會出現(xiàn)在生產(chǎn)環(huán)境中,而且無法在本地重現(xiàn)或者觸發(fā)
-
Bug出現(xiàn)的幾率雖然很低,但并不足以忽略掉它
-
Bug出現(xiàn)的原因和競態(tài)條件(race condition)有關(guān),這只會在系統(tǒng)低負載時才出現(xiàn)
-
Bug出現(xiàn)的真正原因還未知
-
出現(xiàn)bug的代碼并不是你編寫的,但是你要負責修復它;寫那段代碼的人已經(jīng)不在公司了
-
導致出現(xiàn)bug的是某個庫,而這個庫在99.9%的情況下都是可靠的。這是你解決該問題所剩的***一塊陣地了。
-
多年以來有許多人試圖調(diào)試它,從沒人成功過。
-
Bug會產(chǎn)生一個邏輯錯誤,而且只會在系統(tǒng)運行了很長一段時間后才會出現(xiàn)
-
調(diào)試需要你了解某個特定的領(lǐng)域知識,而你對那個領(lǐng)域卻一無所知
-
解決bug的***期限非常緊,時間不多了
-
不能忽略這個bug,因為你的飯碗能否保住就看它了
想象一下在地球上通過光脈沖信號調(diào)試火星探測器上的一個競態(tài)條件是多么令人惡心的一件事,更絕的是只有在火星的大氣條件下當行星開始對齊時才會發(fā) 生。這一切都是因為某個從NASA離職多年的人所編寫的庫中生成的嵌入式代碼出現(xiàn)了一些微妙而深奧的問題所導致。你必須盡快解決這個問題,因為下一次行星 對齊就快開始了,而幾百萬美元的項目資金面臨打水漂的風險。
不,我所說的這一切從未發(fā)生過。但是看了上面那些你難道不想從橋上跳下去嗎?:)
Jarmo Dee
上面那些都不算啥。碼農(nóng)最糟糕的噩夢是有一個不合格的、非技術(shù)出身的項目經(jīng)理,把時間點定的非常緊,而且總是想掌管一切。
Colin Song
需求變更,恩,是再一次變更。
Jim Bobrien
老板決定修改產(chǎn)品定位的方向,而且認為所有的修改都會很簡單,并且在沒有和技術(shù)團隊溝通過的情況下就向客戶做出了種種承諾。哦,對了,還有需要支持IE瀏覽器。
Lalit Jain
同樣的代碼周五還跑的好好的,周一就不行了 :D
Shivam Sarawagi
Internet Explorer (如果你是Web開發(fā)者)
Jorge Lrun
到StackOverflow上提問,看到1年前有人發(fā)過和你準備問的一模一樣的問題,但是沒有任何回復..
Ben Joseph
Stack Overflow訪問不了!
Naman Dasot
分號鍵壞了 :(
Abhishek Walter
Stackoverflow 問題數(shù)達到上限