PTT推薦

Re: [請益] 業界遇到這種bug該怎麼處理?

看板Soft_Job標題Re: [請益] 業界遇到這種bug該怎麼處理?作者
zanyking
(最後的六年級生)
時間推噓 4 推:4 噓:0 →:11

※ 引述《banana2014 (香蕉共和國)》之銘言:
: 我大概在兩年前左右做了一個網頁版的聊天室
: 約莫上個月的時候,我無意間發現了一個bug
: 那個bug是對方已經傳了一個新訊息給我,但我這邊卻完全沒收到他傳給我的新訊息
: 但等我重新整理聊天室頁面之後,那個bug就從此徹底銷聲匿跡了
: 而且從兩年前到bug發生當時的那段時間以及bug發生當時至今這段時間,用起來都很正常: 也就是說那個bug只在上個月那一次發生之後就再也沒被我看到了

0. 你的系統有多重要?你願意花多少代價去修、去整理他?如果是自己做好玩的,用戶不多、也不打算靠他賺錢,那很多時候就是不修了,接受Bug的存在在資源有限的時候也是一個選項

1. 重新檢討你的系統怎麼做logging、Monitoring 的,越難纏、越不好重現的Bug,越是只能靠logging 找出問題,如果寫程式例外處理習慣很差,每次遇到exception 就吃案,那自然系統一天到晚都會有『難以重現』的Bug

2. 找人來看,找比你懂的人做pair programming 來review系統的設計,必要時先做重構

簡單的說,很多時候系統存在難解的問題,就像是你的房間裡有蟑螂蜘蛛要清掉一樣

如果吃過的便當、喝過的飲料、穿過的衣服等等等的隨便散放在地上,生活習慣極差
想要把蟑螂蜘蛛都給殺光趕跑是不可能的,只有先把房間打掃完,再來驅趕才會有效

而只要生活習慣不改善,遲早會再度變成蟑螂窩的

: 雖然我不是IT業界的專業程式設計師
: 不過我想問一下:
: 當遇到這種程式已寫了兩年以上才難得出現過一次算是有點嚴重的bug被你發現到了
: 通常專業的都怎麼處理?
: 因為這樣的bug或許很難刻意的被製造出來,所以幾乎只能靠運氣碰碰看了

聊天室幾乎肯定會用上critical section,如果你對你採用的programming language
如何做multithreaded programming 觀念有誤,那就容易寫出看起來沒問題,但實際上
問題很多的系統,如果你還用上分散式處理(你的情境應該用不到),那有問題的機會是
更高的

更多時候我們是會避開需要做multithreaded programming的情境的,因為做得好的情況少、搞砸的機會多,除非你過去好幾年都是在做這種,不然很難寫好的


--

在灣區打工的中年外籍碼農,有誰創業瞧得起在下的,歡迎聊聊

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.158.240 (臺灣)
PTT 網址

superpandal09/07 21:11hold不住才需要log 災難源自於未知 每天幫別人除錯別

superpandal09/07 21:12人不幫你是很悲劇的 以為這社會是互相 可是沒人在跟

superpandal09/07 21:12你互相 別人的問題是你的問題 你的問題還是你的問題

superpandal09/07 21:21說真的看久會厭世 當然如果都自己的東西不搞個天人合

superpandal09/07 21:22一是對不起自己

lovdkkkk09/07 23:12log 真的需要, 因為別人不可信, 自己更不可信

lovdkkkk09/07 23:12好 log 呈現真實給你 (y)

lovdkkkk09/07 23:15正好今天遇到轉時區轉錯誤差 16 小時

lovdkkkk09/07 23:15直到把時間 log 出來才發現

labbat09/07 23:40天才只要埋exception然後解析coredump,正常人就乖乖log唄

viper970909/07 23:59推專業

superpandal09/08 22:32沒信心原因就那幾個 大部份是東西原本有坑 都自己的

superpandal09/08 22:33就不會出現這種情況 因為都在掌控內 也就是幾乎都沒

superpandal09/08 22:34未知

timofEE09/19 03:14解析清楚