頭疼!寫代碼遇到Bug怎麼辦?(不要讓簡單的問題複雜化)

頭疼!寫代碼遇到Bug怎麼辦?(不要讓簡單的問題複雜化)

今天來聊聊如何高效率地進行代碼診斷。之所以分享這個話題,是因為經常有小夥伴寫代碼一遇到問題,就截個圖發給我,問我是什麼問題,然而大多數情況都不是什麼疑難雜症,說白了都是靠搜索引擎就能解決的問題。為了節省大家的排錯時間,提高編程效率,今天就來講講如何高效率地進行代碼診斷。

首先,要調整好心態

遇到問題首先要做的是冷靜下來,不要亂了陣腳。記得我剛入行的時候,帶我的前輩經常說的一句話就是:不是誰都有這麼好的運氣可以遇到這麼多問題的。在解決問題的過程中,可以使你注意到之前忽略的細節,甚至可以讓你發現自己的知識盲區,同時也是一個積累經驗的過程,說白了在編程這一行,高級工程師相比初級工程師的優勢最重要的一點就是經驗了,而在錯誤中吸取的經驗要比書本上的理論知識更多價值。所以從這個角度來看,遇到問題也不是什麼壞事,也沒什麼好慌張的。

調整好心態後,就要開始排錯了,第一步應該從最簡單的地方入手,比如看看運行環境是否正常,網絡是不是通暢,磁盤設備有沒有出現異常,參數格式會不會錯誤等等。具體要從哪個方面查起,需要一定的經驗跟直覺,如果你的工程是web工程,那麼網絡、環境等都是需要排查的。

其次,要學會看異常信息

很多時候錯誤原因已經在異常信息裡面寫的很清楚了。只要細心一些,循著異常堆棧追查下去,一般來講大多數問題就都迎刃而解了。

如果還是看不出來是什麼問題,那麼可以查看日誌或者打斷點看看代碼的執行過程是怎樣的。關於日誌信息,比較重要的幾點一定要有,比如類名、行號、異常堆棧等,特別是當在生產環境上出現問題時,完善且清晰的日誌可以節省你大量的排錯時間。

如果到了這一步還是不能發現問題,那就要問問搜索引擎了。基本上我們碰到的問題90%以上都是別人遇到過的,其中90%以上的問題都可以通過搜索引擎找到解決方案。當然,使用搜索引擎也是有技巧的。可以多試幾個關鍵詞,或者多個關鍵詞組合起來,在關鍵詞前面加上使用場景、環境、框架、軟件版本等信息也能提高搜索命中率。中文的搜不到就試下英文的,百度搜不到就試下谷歌。到了這一步應該80%以上的問題都能解決了。

如果你運氣比較好,試了上面這些方法都還沒能解決問題,那麼就要從其他渠道去尋求解決方案了。比如去專業的問答網站stack overflow搜索下,看看有沒有類似的案例可供借鑑。如果你用的開源項目,那麼可以到github的項目主頁看看有沒有人反饋過類似的問題。如果你用的是企業產品,那麼可以諮詢該產品的技術支持人員以尋求幫助。

以上這些方法基本上可以解決90%以上的問題了。剩下的10%的問題就要通過閱讀源碼或者請教他人去解決了。當然,提問題也是一門學問,如何高效率地提問題,下次再分享。

最後給正在學習的大家分享一些編程學習資料有需要的同學可以轉發此文

並私信小編:“學習”領取一份系統的編程學習資料哦!!

頭疼!寫代碼遇到Bug怎麼辦?(不要讓簡單的問題複雜化)

頭疼!寫代碼遇到Bug怎麼辦?(不要讓簡單的問題複雜化)

頭疼!寫代碼遇到Bug怎麼辦?(不要讓簡單的問題複雜化)

頭疼!寫代碼遇到Bug怎麼辦?(不要讓簡單的問題複雜化)

相關推薦

推薦中...