乙個管理後台的bug,把操作記錄中的操作員姓名,寫成了該操作員的id。原因是修改了乙個返回操作人姓名的函式,返回了操作人的id。但是還有其他地方也用這個函式,導致其他地方把姓名字段填寫成了操作員的id。
該bug汙染了一條修改記錄,操作員手動刪除就好了。回滾**後恢復。
本質是修改了函式的返回值,卻沒有檢視所有呼叫的地方。這個函式的名字叫getinfo,但是在**的其他模組中也有同名函式,返回的都是id,讓修改的人以為都是乙個函式,引起了混淆。所以函式名也要修改,做到通過名字能夠清晰看出函式功能。
本來很簡單的乙個線上bug,按照上面的描述幾句話就說清楚了,但是乙個組員說了乙個小時,才勉強讓組內的其他同學聽明白。
他在描述的時候,先說**,還有更改**的背景,而且描述的只言片語,讓大家不停提問,花了很多時間。
怎樣能夠描述清楚線上bug,也是有方**的,大家可以看看。
1. 對齊背景
對於線上bug,先描述影響,從使用者角度把bug描述清晰。可以把自己想為測試,測試給我們報bug的時候,從來都不會說你****錯了,只是把現象給出,再加上覆現的步驟。
同時也說清楚影響範圍,多久恢復,讓大家放心,知道影響面。
2. 交代錯誤原因
用直白的語言,說明出錯的原理。為什麼出錯?注意是直白的語言,不是交代**層面那個函式出錯。例如上面的例子,應該說是函式返回值修改導致,而不應該直接說getinfo是乙個什麼函式,為什麼要修改這個函式。
3. 說明引入錯誤的始末
一般線上bug都是由於變更引起的。究竟是什麼變更,為什麼會有變更需求,也需要交代清楚。
4. 如何預防
發生bug不可怕,可怕的是重**生。 吃一塹長一智,不讓錯誤發生第二次,要反思預防的方法,防止再次發生。把預防的方案想好,說出來。
按照上面的順序會比較清晰、快速地描述清楚線上bug。讓聽眾能夠快速了解到影響,和處理方式。
描述清楚線上bug是每個程式設計師都要必備的能力之一,也是日常經常遇到的場景。掌握先交代背景和影響,再說明錯誤原因和如何預防,是一種行之有效的描述方法。
延伸閱讀
通用的方**可以學習《金字塔原理》《問題的分析與解決》中的scqa、mece等方法,這些才是根本,要努力學習和刻意練習才能夠掌握。
收藏
程式設計師如何描述清楚線上bug
乙個管理後台的bug,把操作記錄中的操作員姓名,寫成了該操作員的id。原因是修改了乙個返回操作人姓名的函式,返回了操作人的id。但是還有其他地方也用這個函式,導致其他地方把姓名字段填寫成了操作員的id。該bug汙染了一條修改記錄,操作員手動刪除就好了。回滾 後恢復。本質是修改了函式的返回值,卻沒有檢...
程式設計師如何減少BUG
最近乙個專案出了大量的bug,很是慚愧,有沒有可以盡量規避bug的良方呢?可能沒有,但總有儘量減少bug出現機率的方 吧 我個人覺得在企業應用開發中,bug大致可以分為如下三類 一 程式本身語義上的bug。執行時bug。比如np之類的。二 需求理解方面的差異導致的bug。簡單說,就是程式本身語義沒有...
程式設計師如何講清楚技術方案
最近在評審技術方案,和 review的時候,遇到剛入行的同學們,很多都講不清楚技術方案。具體表現是 上來不說需求,直接說演算法實現。台下一頭霧水,根本不知道設計方案是否合理。描述完需求後,又直接看 看表結構,沒有交代流程。比較簡單的演算法,描述的特別繞,讓人聽不懂。被別人指出後,覺得這東西這麼簡單,...