程序員的噩夢,我的漏洞傷害了他人

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


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

 

1.我能通過互聯網解決問題 
Stack Exchange 一類的網站已成爲軟件開發者的工具箱中至關重要的工具。當然也還有很多其他程序員們尋求幫助的論壇。程序員最頭疼的事,就是貌似無窮的知識來源中其實並沒有解決你問題的救命稻草。


“在 Stackoverflow 網站看到有人發了同樣的問題,然而逛了半天也沒找到最終的解答。”—— Jorge Irun

      http://www.itlanbao.com/code/20150908/10000/100513.html



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

    http://www.itlanbao.com/code/20150902/10000/100499.html    



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

 


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

      http://www.itlanbao.com/code/20150909/10000/100518.html


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


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

引用
只在衆人或重要客戶面前演示時纔出現的漏洞,簡直讓我……” —— Jeremy Friesner

     http://www.itlanbao.com/code/20150911/10000/100523.html

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


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

引用

      http://www.itlanbao.com/code/20150907/10000/100509.html

“毫不誇張地說,維護沒有開發文檔的舊軟件對我而言就是個噩夢。”—— Sam Sartor 


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

引用

     http://www.itlanbao.com/code/20150911/10000/100524.html

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


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


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


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


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


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


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


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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章