程式設計師的最大噩夢

極客範 - 陳舸發表於2014-12-07

Brain Schmitz Software Engineer Intern at Google (2012, 2013), Microsoft (2014), CS major at UT Austin in Turing Scholars honors program

曾經遇到過的最噁心的bug:

  • Bug只會出現在生產環境中,而且無法在本地重現或者觸發
  • Bug出現的機率雖然很低,但並不足以忽略掉它
  • Bug出現的原因和競態條件(race condition)有關,這隻會在系統低負載時才出現
  • Bug出現的真正原因還未知
  • 出現bug的程式碼並不是你編寫的,但是你要負責修復它;寫那段程式碼的人已經不在公司了
  • 導致出現bug的是某個庫,而這個庫在99.9%的情況下都是可靠的。這是你解決該問題所剩的最後一塊陣地了。
  • 多年以來有許多人試圖除錯它,從沒人成功過。
  • Bug會產生一個邏輯錯誤,而且只會在系統執行了很長一段時間後才會出現
  • 除錯需要你瞭解某個特定的領域知識,而你對那個領域卻一無所知
  • 解決bug的最後期限非常緊,時間不多了
  • 不能忽略這個bug,因為你的飯碗能否保住就看它了

想象一下在地球上通過光脈衝訊號除錯火星探測器上的一個競態條件是多麼令人噁心的一件事,更絕的是隻有在火星的大氣條件下當行星開始對齊時才會發生。這一切都是因為某個從NASA離職多年的人所編寫的庫中生成的嵌入式程式碼出現了一些微妙而深奧的問題所導致。你必須儘快解決這個問題,因為下一次行星對齊就快開始了,而幾百萬美元的專案資金面臨打水漂的風險。

不,我所說的這一切從未發生過。但是看了上面那些你難道不想從橋上跳下去嗎?:)

Jarmo Dee

上面那些都不算啥。碼農最糟糕的噩夢是有一個不合格的、非技術出身的專案經理,把時間點定的非常緊,而且總是想掌管一切。

Colin Song

需求變更,恩,是再一次變更。

Jim Bobrien

老闆決定修改產品定位的方向,而且認為所有的修改都會很簡單,並且在沒有和技術團隊溝通過的情況下就向客戶做出了種種承諾。哦,對了,還有需要支援IE瀏覽器。

Lalit Jain

同樣的程式碼週五還跑的好好的,週一就不行了

Shivam Sarawagi

Internet Explorer (如果你是Web開發者)

Jorge Lrun

到StackOverflow上提問,看到1年前有人發過和你準備問的一模一樣的問題,但是沒有任何回覆..

Ben Joseph

Stack Overflow訪問不了!

Naman Dasot

分號鍵壞了

Abhishek Walter

Stackoverflow 問題數達到上限

相關文章