國立臺灣大學 電信工程學研究所

Issue 解不掉該怎麼辦

前情提要
我大安吳彥祖 看到很多人對我的留言按讚 就想分享更多給各位 也許能讓各位少走冤枉路 各位有興趣可以去看這本書
megapx
這本書就是在教你怎麼解issue 從心法到技術層面都有 作者是大學教授,在谷歌上過班 書也不厚,大概兩百頁 給各位看一下目錄都在講什麼
megapx
大概快速講一下我的職涯心得和此書心得的融合版 首先就是心態,要對自己有信心,對產品有信心,要相信自己一定會找出解法。 解法不一定是正解,有可能是workaround,,或是乾脆把該feature關掉,或者根本沒辦法reproduce,或者找PM去喬去搓湯圓,或者自己下去跟客戶溝通說服客戶或測試工程師。方法有的是。 再來就是日常準備工作,issue tracker,一個好的IDE,version control,code review,unit test,regression test,CICD,UML文件等等,日常準備越充足,越能應付各種各樣的bug 或issue。 接著是bug發生時,最好是你自己知道怎麼reproduce,不要太依賴log,或太依賴著客戶或tester回報。如果他們能寫好復現步驟而你照著做做得出來,那當然很好。 沒有的話你就要自己做自己復現了。 我解bug一定是自己復現,而且我不太看log,主要是log太多太長都是文字,除非你有特殊parsing工具可以畫成圖。 已經穩定的產品通常出現的bug通常越難解看log也沒啥用,簡單的早就被解掉了。 以軟體而言,debug mode是最終神兵利器,在我職涯裡95趴以上的bug都可以靠debug mode or gdb 解掉。 剩下五趴就是一些won’t fix,not a bug,can not reproduce,time out but customer no reply之類的。 多跟其他部門的人溝通,有時候不見得是你這層的問題,多拉點人下來一起看一起討論,把你的發現寫在issue tracker上,附圖附code附重現手法,拿去多問別人,再請對方回覆在上面或你自己寫下討論結果 跟PM關係要打好,不要老是覺得他們不懂技術瞧不起人家,有些RD解不了的bug還是得靠PM去跟客戶溝通,有時候溝通完大家簽字畫押,這bug就不用解了。 我自己也跟常常跟客戶溝通,心態要正確,有時候時間一過連客戶自己也覺得這bug沒什麼不用解了,解不出bug但你可以講出一個故事讓客戶可以去說服他們的上級或他們的客戶就行了,這我遇過很多次了。 還有一些例外,比如我遇過別的app把記憶體用光,等到我的app要用的時候就crash,crash看gdb call stack是死在客戶自己的kernel或第三方lib,這也很難解要寫個script紀錄記憶體用量,做燒機測試,來證明別的app把記憶體用完。 有的時候是第三方lib上有bug,比如Qt版本太舊,上網看有人也報了類似issue和gdb call stack,想辦法更新版本或是加patch自己build一版third party lib來證明。 大概是這樣,有問題可以留言討論
愛心
434
留言 43
文章資訊