search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

程序員為什麼要不能一次性寫好,需要一直改bug ?

這個看似是個外行提出的好笑的問題,但是卻可以反映產品從設計到上線整個流程可能遇到的問題。

作為工程師的我,覺得這個問題非常值得討論。Bug分很多類,一類是對用戶來說不能正常使用,能被用戶感知到的錯誤。一類是用戶能正常使用,但是有各種異常的錯誤。一類是使用沒有任何問題,但是不符合產品預期的問題。其他應該還有很多,這裡我們一一討論。

1對用戶來說不能正常使用,能被用戶感知到的錯誤

其中一種情況是程序員和測試人員的問題,所有功能在上線前,工程師和QA人員應該測試,回歸完功能。能被用戶感知到使用流程有問題的話,一定是相關人員能力或者線上意識某一方面欠缺,也是最不能容忍的。

另外一種情況是黑天鵝事件,什麼網線被挖斷,機房被炸,伺服器爆炸什麼的。。。。。。,這個說實話,出了在軟體架構上做冗餘,目前沒有什麼特別好的辦法。

2用戶能正常使用,但是在用戶看不到的地方有各種異常的

一個功能模塊幾乎不可能是獨立的,它必然牽扯到其他模塊。對於你所依賴的模塊,你沒辦法保證這些模塊是100%可用的。這個時候可能雖然有錯誤,但是只要不影響主要流程,我們依然可以正常使用。但這個時候對於外部依賴的異常處理,很考驗工程師的能力。

舉個例子,有可能你看到的點贊數比你實際收到的點贊數少。這個是由於點贊統計在什麼時候失敗了一次,某些用戶可能認為這個是bug,但是其他可能不會在意(當你有10001贊的時候,你在意少了1個么?)

3使用沒有任何問題,但是不符合產品預期

這個更多的是研發和產品經理對於需求理解的不一致。因為文字是有二義性的,況且人和人對相同文本的理解本來就可能出現偏差,這就導致了需求理解的不一致,最終導致了線上產品不符合預期。對於內部人員來說,這個也算BUG。

說了那麼多,最主要的核心在於實現功能的是人。人不像機器,不可能不犯錯;同樣的,不可能存在沒有bug的程序,像大家使用的windows,窮盡無數優秀的工程師,給予用戶優秀的桌面體驗的同時,也有你可能完全看不到的數千個bug。想要完全避免幾乎是不可能的。所有也不存在一次性就寫好的情況。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦