程式設計師的吐槽 八一八那些讓你感覺蠢哭了的BUG

2022-03-23 09:23:01 字數 2967 閱讀 6248

作為程式設計師,有沒有乙個bug讓你心交力瘁沒日沒夜的加班,找啊找,找出來以後看著這個bug差點一口鮮血噴在顯示器上呢?曾經在同事中間提過這個問題,大家異常激動,爭先恐後發表自己的獲獎感言,提起自己不堪回首的往事無人不捶胸頓足。唉。。。誰沒有智商餘額不足的時候呢。作為從小就是俺們村久負盛名的馬大哈,我對這種事特別有心得,總結幾件比較低階,同時浪費比較多時間來解決的問題。

好了,各位,到了今天精彩的top5時刻了,揮舞你們的雙手,讓我看到你們。藥藥藥。。。切克鬧。。。

top 5:精神病人思維廣

其實嚴格說來這件事跟我關係不大,因為我只是維護那個程式,資料庫欄位也不是我改的,但是這樣的蠢問題花了兩天多時間,也該上榜。

事情是這樣的,公司一套程式將資料庫中常用、公共的配置資料載入在記憶體中作為公參使用,部署在這台機器上的程式根據資料頭和資料長度到記憶體中去取需要的引數。服務a已經在生產穩定的跑了好幾年,某日測試同事b君告訴我這個程式有問題,了解大概原因以後推測出是環境問題,因為程式在生產環境和開發環境都沒有問題,挨個向有該環境操作許可權的同事詢問近期對環境的修改情況,發現都不涉及這部分。於是申請底層源**許可權(由於辦事效率低,其實這些亂七八糟的事都花了快一天),開始各種跟蹤定位,加日誌(測試環境不允許gdb)。後來發現是服務a到記憶體獲取資料時的msg_size和資料庫中的datalen長度不一,獲取資料失敗(媽蛋,這裡怎麼沒有日誌啊)。這才想起來去看一眼表結構,晴天霹靂,應該是varchar2(5)的字段生生的給改成varchar2(20),修改理由是隨便插入幾個資料長度不夠就給改了,這能亂插嗎?男人不是該控制一下的麼?還好修改那哥們新增資料時在remark欄位留下了他自己的大名,一位新來的,讓我們可以郵件圍毆他一頓。 

上榜理由:工作方法不正確,明明知道是環境問題,卻只顧埋頭跟蹤**。藥不能停

蠢哭指數 :★★★

top 4:'/0' '/n'傻傻分不清

上半年去某遊戲公司面試,剛好是晚飯時間,面試官給我乙份試卷就吃飯去了。其實那會兒我也很餓了,決定速戰速決在他吃完回來之前做完,於是奮筆疾書。果然,面試官回來我剛好做完,於是對照答卷面試。首先看的是程式設計題,題目是不用庫函式編寫乙個字串操作的函式(具體忘了)。面試官看了一眼指著 while (*p != '\n') 問我這是啥意思,我心想,這麼簡單的問題還問,明顯不是我的菜。我隨口一答迴圈字串一直到結尾啊,問確定嗎?斬釘截鐵得答確定!再問真的確定?我仔細看了一眼,頓時一萬頭脫韁的草泥馬在我心中奔騰。看是各種解釋,這是手滑寫錯了,真實寫**的時候肯定不這麼寫。於是後面的面試草草完事,終於我可以早點回家吃飯了,面試也就沒有然後了。

上榜理由:編碼不仔細

蠢哭指數: ★★★☆

top 3:智商明顯不夠用

&& || ()符號使用不恰當,這類問題出現過很多次,導致邏輯和預期的直接相反,讓我一直覺得是不是小時候落過水,腦子沒甩乾。不過隨著工作經驗的增長,這類問題也基本不會出現,偶爾出現也會很快解決掉。

上榜理由:腦子銹到了

蠢哭指數:★★★★

top 2:空格讓我很受傷

去年年底乙個比較緊的專案,程式還沒跑通但離上線卻只有兩周時間不到,為了盡快完成經理親自前來督戰,一起奮戰到深夜。當時的問題是這樣的,通過c++程式(我負責)呼叫lua指令碼(同事g君負責)處理csv檔案,處理完生成乙個新檔案。處理前後的csv檔名都是通過c++傳入到lua中,lua只負責處理檔案內容。日誌能正確顯示傳入引數正確,可調了一晚上也沒見有新檔案生成。所有人的目光都聚集在lua**中,甚至我也圍觀過去指指點點,一行一行分析,沒有找到任何問題。就在大家精疲力盡的時候我無意中發現我傳過去的引數其實有問題,outfilenm= "/aaaa/bbbb/cccc ";看到了吧,outfilenm檔名的最後多了乙個空格,導致指令碼open失敗(g君因為業餘的沒判斷失敗也被吐槽的無地自容)。當時我很低調的重新編譯,偷偷把程式替換了,否則還不被罵死。當然,跑通以後我還是老實的承認了這個錯誤,最後的晚飯也不是我請的,經理請的。

上榜理由:編碼不仔細,**設計不合理

蠢哭指數:★★★★☆

top 1:雙胞胎變數

這是職業生涯最黑暗的一天,至今仍作為失敗的教科書來教育後來者。

那是剛畢業的時候,在一段**中我居然宣告了兩個長得很像的變數,具體名字忘記了,大概就是乙個叫value乙個叫value,很像有沒有?雙胞胎有沒有?是的,太特麼像了。導致我給value賦值了,呼叫的卻是value,關鍵是日誌裡面列印的也是value。好像記得是加班到深夜才找出這個問題,現在想想還是不忍直視。

上榜理由:無力吐槽了

蠢哭指數:★★★★★

回來補一刀

前兩天,同事在呼叫我開發的檔案傳輸元件時,說遇到乙個奇怪的問題,只有本機作為服務端時才能上傳成功。由於時間緊任務重,我只好加班留下來和他一起查問題,查了乙個多小時還是毫無眉目,返回的結果依然是錯誤404。正在我焦頭爛額之時,我說讓我看看你的**,好傢伙,這一看我差點沒把他直接扔下樓去。因為他把伺服器位址寫成127.0.0.1,知道真相的我眼淚掉下來啊。不過這也是失誤,同事也是資深的程式設計師,只是當時倆人都沒往這個方面想,算是中了乙個大坑。

上榜理由:測試demo不認真寫的下場很慘的

蠢哭指數:★★★★★

這些問題雖然都是很低階很遭鄙視,但每個程式設計師都多多少少的犯過一些低階錯誤,正所謂路走多了總會踩到狗屎的時候,尤其是新手。所以我覺得一些良好的程式設計習慣是一定要在從業之處就養成好,包括**風格,工作方法,遇到問題切不能眉毛鬍子一把抓。

來八一八程式設計師

在家園網看到一程式設計師感嘆和總結程式設計師 我也來感受一下。第一級 糟糕的程式設計師 這類程式設計師不知道為什麼就走上了程式設計這條路,他們甚至連最基本的程式設計經驗和能力都沒有。所有被他們碰過的事情都需要他們的同事重頭再返工一遍,他們根本不就是程式設計師。程式設計師這個職位對於他們可能就是乙個錯...

程式設計師的吐槽大會,動機何在?

最近看了比較多的職言,很多都是吐槽現在公司加班嚴重的,工資少的,公司專案不行自我技術能力得不到提公升的。很多很多諸如此類的吐槽。吐槽歸吐槽,但是你會發現很少有人因為接受不了公司的種種不滿而直接走人的?為什麼?第一,可能公司確實有部分福利還可以,對比之下,優大於弊。也就是隨便吐槽口嗨一下。第二,自己沒...

那些讓程式設計師目瞪口呆的Bug

1 麻省理工 只能發500英里的郵件 該bug發生於麻省理工,當時其系統管理員接到統計系主任的求助 主任在 中說 咱們的郵件系統無法傳送距離500英里以外的地方,準確地說好像是520英里。此時的系統管理員內心是 毫無波瀾 的,嗯!然後,他開始了漫長且苦逼的測試,最後發現郵件伺服器作業系統 sunos...