閱讀481 返回首頁    go 阿裏雲 go 技術社區[雲棲]


作為程序猿,你還記得你碰到過哪些奇葩的BUG?

606fca7f4009ad5e899f5b503075115b33f91170

作為程序猿,大家肯定對代碼在熟悉不過了,畢竟天天都要敲代碼,敲多對於代碼的理解也就愈加深刻。不管是C++還是Java,在程序猿眼都是一幅幅流動的字符,一串串0和1組成的比特。手指在鍵盤上飛速的敲擊著,屏幕開始逐漸被一行行代碼占據,而雙眼則緊盯著跳動的光標,時間仿佛停滯了,周圍也似乎變得安靜了起來,唯有鍵盤聲不絕於耳。終於隨著一聲清脆的回車鍵,最後一行代碼終於寫完了,然後編譯,鏈接、調試、運行,一氣嗬成。嗯,也許今天可以早點下班了。

a91d2caa6a9dbd6f660b2280619c3b385a553993

啪啪啪,忽然你發現屏幕上莫名其妙彈出了許多錯誤,正當你點擊提示框的關閉按鈕時,又一個錯誤框彈了出來,下方的控製台正在瘋狂地輸出錯誤信息。額,你心裏也許回想今晚得晚點下班了。當你準備終止程序運行時,你突然驚訝地發現電腦不受控製了,不管是鼠標還是鍵盤統統失去了作用,你的心裏感到一絲恐懼。

60dd55f62f1c651882301ef53d67935561c65a0c

接著便是一個Panic或是藍屏,好吧,電腦徹底掛掉了,這下沒法交差了。你不由打消了下班的念頭,重新啟動機器,開始思考我的代碼到底哪裏錯了?

c07dea63bcb8b2aa2280d4d02a5606e0cdcb72cc

如果你一遍又一遍地檢查你的代碼,最後得出結論認為自己的代碼沒錯,一定的編譯器的問題,或是使用的庫有Bug。那麼要恭喜你啦,今晚就好好待在公司裏,不用回家啦。因為據說百分之99的Bug都出現在自己寫的代碼中,任何時候出了bug應當首先考慮自己的代碼問題。

fbb0296d28094f8d015a4d0080eb592ca118b483

不過話又說回來,萬一真的是編譯器的問題呢?畢竟麵對各種程序猿寫出的各種風格迥異,甚至是有點奇葩的代碼,編譯器有時也會感到很無助,我也很絕望可我有什麼辦法呢!既然你的代碼都敢這麼寫了,那麼我如果不讓你通過編譯,豈不是太不給你麵子了。好吧,就讓你代碼通過吧,至於代碼能否被正確的執行,那就不管我編譯器的事啦!

然後,然後要麼你就放棄了,因為你發現明明編譯都沒問題,總不能是硬件的問題吧!還是老老實實問大佬吧。要麼你可能發現了一個新的編譯器的Bug,很好!接下來應該怎麼做了?好像除了在各大論壇上反映這個編譯器Bug就沒有別的辦法了。是啊,除非把代碼改了,否則Bug就會永遠在那裏等著你,等待著下一次被觸發。

9dfc105b7d2714c91606278f9a43d5b20c6716b5

當然這種情況是極為少見的,大部分Bug都是在潛藏在我們的代碼中,並且他們是那麼地“明顯”,以至於你無論如何都想不到這處代碼竟然會出錯。當我們抓耳撓騷每一行代碼都仔細檢查過卻找不到任何錯誤時,你會問百度,穀歌,stackoverflow等等,然後發現自己的bug是多麼地幼稚,還好沒有請教你的同事,不然又要被他們取笑了。

197794427d530aa69aef04eae7910440c8d54919

不想當將軍的士兵不是一個好士兵,沒有遇到過Bug的程序猿不是一名合格的程序猿。作為程序猿的你,在代碼界闖蕩了這麼久也一定聽說過各種搞笑奇葩的程序Bug,或是親身經曆過調試各種Bug,如果你曾經聽說過任何有趣的搞笑的,或是有任何想要與大家分享的奇葩Bug,歡迎點擊參與話題,讓我們比比看的誰的Bug更厲害!

最後更新:2017-05-04 14:32:33

  上一篇:go 如何五分鍾體驗阿裏巴巴的研發效率和質量?
  下一篇:go Phalcon入門教程之Volt模板引擎