一位工作七年程序員,兩天解決一個bug引起的真實感想

01

bug對于我們開發者來說,應該不陌生,雖然我們經歷的大部分bug有的被其他人修復了并且在互聯網分享出來了,這時候我們通過Stackoverflow、Baidu、Google等搜索引擎找到答案了。

但是我們在工作中也可能會遇到一些疑難的bug,這里bug我們在搜素引擎上找不到解決方案,可能好幾天都不得其解。譬如我們bug無法重現,這兩天我就遇到了一個客戶反饋的bug,因Bug重新不了,定位不到問題,遲遲沒有解決而搞得人焦頭爛額。

簡單描述這個bug:

同一款類型手機,系統版本高點的手機正常,其他手機也沒有重現。單獨客戶的那款類型的手機出現問題。

剛開始懷疑是該類型手機的自身的應用鎖功能導致的,后來客戶反饋不是,只有我們這個應用會,在他那款手機其他的應用程序不會出現類似問題。

最后重現問題的方法。因為之前給過客戶兩個不同安裝包,雖然是兩個不同安裝包,但兩個包改動不大。

于是乎,試著卸載手頭的手機的最新應用程序,先安裝舊的安裝包,再安裝新的安裝包,神奇的bug重現了。


兩天解決一個bug引起的真實感想.png

2

通過解決這個bug,讓我明白了,對于用戶反饋的bug,我們開發者要盡量從自身找問題,冷靜分析問題。

實在不知如何下手,請求隊友們幫忙,別人的一句無意的話,可能能幫助你解決問題,盡可能少的否認問題的存在。


程序員.png

換一種思路,可能就豁然開朗了

  • 回歸問題場景,事件順序
    事件是否可以以一種不同的順序到達?譬如我這個bug重現不了,我就是按照這個方法來重現的,按照用戶的用戶行為去重現問題。先安裝舊的安裝包,再安裝新的安裝包。

  • 重視用戶提供的日志
    調試某個bug花很長時間時,常常是由于我做了錯誤的假設。用戶提供的日志很重要,看一次定位不到問題,沒有頭緒的情況下,多看幾次,剛開始我以為出現這個bug,是用戶對我們這個應用程序燒寫不全導致。

  • 相信用戶
    不要認為用戶是傻逼,因為如果你這樣認為的話,你在他眼里也是。想想,我都把日志給你了,操作步驟也錄視頻給你了,你定位不了問題,還說是我們系統的問題。
    有時候對于用戶提供報告問題時,我們的本能反應很可能是“這不可能。用戶肯定是哪里弄錯了。”
    通過這個bug,我已學會了擯棄這樣的反應。結果往往證明,用戶報告的正是實際發生的問題。所以從現在起,我對用戶報告的問題信以為真。

  • 近期代碼的變化
    要注意近期代碼的改動,我們通過代碼管理工具都能清楚的看到,每處代碼的改動的都不要輕易否認。

  • 復現,找到穩定復現的辦法

  • 抽特征,對BUG發生的條件進行抽取

  • 減特征,替換掉一部分發生的外部條件,看BUG是否發生

  • 流程分析,對BUG對應的流程進行徹底的分析,借由之前的抽特征減特征,進行排除法。

3

作為一名軟件開發人員,經常避免不了的就是發現各種BUG,既然BUG是避免不了的,那么,作為一個程序員,如何減少我們寫的代碼bug。


記錄bug.png

1、養成一種好習慣,注釋

曾有網友倜儻:程序員喜歡兩件事:

  • 喜歡說別人程序不寫注釋;
  • 喜歡自己在程序中不加注釋。

注釋的目的不是為了解釋代碼做什么——可以讀取代碼!注釋目的是為了解釋當你寫代碼的時候是如何思考的。

在寫完代碼的后面兩三個月,可能我們已經不記得上述任何問題的答案,所以,要寫下來。這是無價的,為我們后面解決bug提供了重要的線索。

2、測試優先

我們可以編寫測試的代碼以確保其他代碼可正常工作。

3、程序是寫給別人看的,平時要多注意代碼規范。

比如變量命名,方法命名等。

4、不拋棄,不放棄

如今軟件日新月異地變化和發展。人的精力畢竟有限,我們不可能掌握所有。事實上,當我們準備放棄的那一刻,我們依然沒有資格說我們已經懂得夠多。只有不斷學習,不斷拓寬你的視野,才能提高我們的競爭力。防守是最好的進攻

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,084評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,869評論 18 139
  • my favorite food is oranges. what color is your dresses. ...
    小綠植物閱讀 207評論 0 0
  • 現在做什么,可以在5年后受益匪淺 文/冬至 大一的時候,面對新的生活一時無所適從,面對身邊各種各樣優秀的人簡直讓我...
    你好哇冬至閱讀 680評論 6 8
  • 破碎就破碎,要什么完美 放過了自己,我才能高飛 無所謂,無所謂 原諒這世間所有的不對 無所謂,我無所謂 何必讓自己...
    清草閱讀 556評論 0 0