程序員的 13 種惡夢,你遇到過哪些?

(點擊上方公眾號,可快速關注)


英文:CSM

譯文: 伯樂在線 - 胡西瓜

網址:http://blog.jobbole.com/90116/


對絕大多數人來說,都是些老生常談的東西使他們惡夢連連:幽靈、蜘蛛,被戴著冰球面具的殺人狂追殺……但對另一些人來說,他們最害怕的東西就沒那麼常見了。


就拿軟體開發者舉例吧。如果你問他什麼才是最可怕的惡夢,那麼答案很可能跟女巫、黑貓沒什麼關係,真正的惡夢是關鍵的分號不起作用或者微軟的某個產品。在分析了各種各樣程序員關注的論壇之後,我們在此列舉出 13 種程序員們最苦惱的惡夢。


1.我能通過互聯網解決問題


Stack Exchange 一類的網站已成為軟體開發者的工具箱中至關重要的工具。當然也還有很多其他程序員們尋求幫助的論壇。程序員最頭疼的事,就是貌似無窮的知識來源中其實並沒有解決你問題的答案。


「在Stackoverflow 網站看到有人發了同樣的問題,然而逛了半天也沒找到答案。」—— Jorge Irun




(漫畫由 伯樂在線 - 輕如紙張 翻譯,來自《吐槽編程問題的五張漫畫》)


某論壇上點贊最多的答案毫無用處!」—— Ramchand Rajasekaran


2.鍵盤上最重要的按鍵壞了


不難想象,鍵盤對於開發人員有著不言而喻的重要性。但同樣地,在開發人員眼中並非所有按鍵都那麼重要。尤其是在一些編程語言中,某些按鍵比其他按鍵的使用頻率更高,例如 JavaScript、Perl 和 Objective-C 中的分號鍵。為了節約時間和避免錯誤,開發人員愛用鍵盤的快捷方式,比起滑鼠,鍵盤的使用則更頻繁。若是軟體開發者夢到鍵盤上他最愛用的按鍵壞了甚至消失了,就深更半夜裡冒著冷汗驚醒,你也不必覺得驚訝。


「我做過最糟糕的惡夢就是分號鍵壞了。」—— Ali Akbar




敲了 n 行代碼后才發現 Control 鍵沒反應……」—— Nikesh Shetty




3.網路連不上,或者掉線了


一種比較「小眾」的惡夢是,某一工具的論壇下線或是出於維護狀態從而不能解決問題,但更常見的是訪問互聯網時掉線,無法接入站點。因為畢竟除了訪問論壇這一目的意外,網路更像一個巨大的象鼻,裡邊裝滿了有用的東西,比如代碼段、開源軟體。如果互聯網突然掉線了,就會造成編程團隊間無法聯繫,你喜歡的在線音樂播放服務無法使用,更不用說接入遠程服務或是雲端有多困難……如果你想嚇唬嚇唬程序員,大喊一聲「沒有網路」就夠了。記得,隨時準備好除顫器以便急救。


如果某天互聯網和谷歌都消失了,那將倒退回與世隔絕、暗無天日的古代。遇到 bug 我們只能束手無策。」—— Thoriq Firdaus


4.無法再現的危險錯誤


為了修復一個漏洞,在這之前開發人員必須在開發或測試環境中重現導致錯誤的情境。如果你夠幸運的話,在開發環境部署前就能診斷、修復錯誤。許多開發人員害怕隨機出現又無法在受控環境中重現的漏洞。這類該死的漏洞會讓你在重要客戶的面前變得憂心忡忡,坐立不安。這絕對是程序員的惡夢。


只在眾人或重要客戶面前演示時才出現的漏洞,簡直讓我……」 —— Jeremy Friesner


「在公司時藍屏現象從不會出現第二次,然而一到客戶家裡就老出現。」 —— Joe Wezorek


5.缺失好的文檔,甚至沒有文檔


坐下來理解一段沒有良好文檔或註釋的已有代碼是很困難的。若是連文檔或註釋都沒有,那就更糟了。這情況不僅適用於由承繼程序員的第三方編寫的代碼,還適用於同一個程序員在很久以前寫的缺少良好文檔的代碼。不管是誰切分的不帶說明文檔的代碼永遠是個惡夢。


「毫不誇張地說,維護沒有開發文檔的舊軟體對我而言就是個惡夢。」—— Sam Sartor


6.糟糕的老闆和主管


和其他人一樣,開發人員也會有愛管閑事又沒啥能力的上司。軟體開發者尤其討厭隨意干涉他們代碼的非技術管理層。有些領導喜歡承諾我們無法做到的事,低估項目中切分代碼所需的時間。一想到這樣的領導和技術決策人,程序員即使在深夜的夢裡也會痛哭。


「對我而言最糟糕的非經理莫屬,比牙疼還糟糕。他們自視甚高,還期待我們能提早地滿足客戶的任何需求。這些所謂的經理還堅信,編程只是小事一樁,代碼就像浮在空氣中似的,可以信手拈來。」 —— Rachit Agrawal


7.他人清晰又漂亮的代碼


對大多數程序員來說,他們喜歡也必須在別人的代碼上繼續工作;但別忘了,不同的定時器代碼永遠不會一模一樣,不是嗎?甚至是一段有良好文檔的第三方代碼也會變成一件麻煩事。它要求你做調試,重構,或結構化,使代碼適應可能幾個月前就已切分好的代碼。這些工作會讓程序員們心跳異常。若沒有,真是謝天謝地。


8.項目里的要求變更


無論何時,軟體開發者都青睞那些闡述清晰、不能變更的應用需求。在實踐中,很多需求都是匆忙制定的,有時候甚至已經成為了正式形式;要求變更的原因,一部分是有糟糕的項目經理,另一部分則是來自上級或客戶本身的抱怨和干涉。總之,不論什麼原因,對需求變更的恐懼——尤其是在最後一分鐘要求變更——永遠是開發者的心頭恨。


9.消失不見的代碼


無論開發者花了多長時間來調度軟體,如果代碼被意外清除了,一切努力都將付諸東流。代碼意外消失的原因有許多,最主要的是鬼使神差地忘記保存文件,或者未知的惡意漏洞導致無法保存。無論出於什麼原因,不管是不是考慮不周,程序員永遠都害怕花了大量時間精力才得出的演算法和函數毀於一旦。


10.IE 瀏覽器


程序員常常會對某些技術忍無可忍。舉個例子,Web 開發人員對用 IE 做開發感到萬分恐懼。儘管它仍是最受歡迎的瀏覽器之一,IE 對於Web 開發者就是惡夢。糟糕的是,比起現代、環保的新版本,舊版本的 IE 不友好,用戶多,還需要更多支持。如果說電影「13號星期五」中殺人狂 Jason Vorhees 嚇倒了一眾Web 開發者的話,他的面具恐怕就是 IE 圖騰。


11.身體不適


編程不是個體力活兒,但正如其他需要沒日沒夜地在電腦上切分數據的職業那樣,胳膊、手掌、指頭不靈便都很難完成這項工作。任何對視力、理性思考能力有消極影響的因素,都會成為大麻煩。因此,軟體開發者的典型惡夢是:無法使用,甚至喪失了身體的某一或某些重要部位——個人傷害律師(Personal injury lawyer) Baca Raton 如是說。


伯樂在線推薦閱讀:《程序員的常見健康問題》( http://blog.jobbole.com/485/ ),給我們發送文章標題,可閱讀全文。


12.我的漏洞傷害了他人


任何軟體開發者都會成為漏洞的製造者。但並非所有的漏洞都具有同等的災害性。其中一些漏洞討人厭但無害,另一些則會給公司或客戶帶來損失,負責開發的人員會被開除。不過最壞的情況是,漏洞造成了生理上的傷害,甚至危及他人的生命安全。


伯樂在線推薦閱讀:《軟體Bug引發的十次嚴重後果》( http://blog.jobbole.com/97/ ),給我們發送文章標題,可閱讀全文。


13.段錯誤


程序員中普遍害怕的惡夢還有遭遇段錯誤。這一錯誤由內存違法訪問而引發。也就是說,程序企圖訪問受限的內存,或者執行某個受限的行為。一般而言,在這種情況下訪問內存單元將通知操作系統,進而反過來通知有問題的,大多數以掛馬程序為結束的進程。開發人員最頭痛的就是要找到引發這一問題的原因。因此,程序員的惡夢裡還有段錯誤。



【今日微信公號推薦↓】


程序員的那些事

微信號:iProgrammer

(長按上圖,可自動識別二維碼)


「程序員的那些事」是最受歡迎的程序員、IT 技術和 IT 行業相關的微信公眾號之一,分享最新編程技術、經典技術分享、IT 行業動態、熱門編程課程、高薪技術職位、程序員的日常,更有難得一見的 IT 相親活動。



在這個信息爆炸的時代,人們已然被大量、快速並且簡短的信息所包圍。然而,我們相信:過多「快餐」式的閱讀只會令人「虛胖」,缺乏實質的內涵。伯樂在線博客團隊正試圖以我們微薄的力量,把優秀的原創/譯文分享給讀者,為「快餐」添加一些「營養」元素。


微信號: jobbole

(長按上圖,彈出「識別二維碼」后可快速關注)

--------------------------------------

商務合作QQ:2302462408

投稿網址:top.jobbole.com



---
資料來源:程序員的 13 種惡夢,你遇到過哪些?
如果內容有不適當或對出處有疑慮,請立即通知客服中心
Facebook留言板
您可能有興趣
客服信箱 客服信箱
一則未讀訊息
發訊息給線上客服