1. 程式人生 > >當你感到絕望時,可能是最接近成功的時候

當你感到絕望時,可能是最接近成功的時候

之前都是寫一些技術幹活,今天來點雞湯,發表下最近解決幾個問題後的感慨。

9166166-75f38f8ebab99c23.jpg 當你感到絕望時,可能是最接近成功的時候
問題

最近維護的老專案,線上經常出現一些問題,同時也要面對第三方提供介面的變更,在此背景下,解決問題需要考慮各方面的原因。

昨天一個新版本準備上線、進入線上驗證測試階段,測試反饋了一個bug:線上的功能正常,但是驗證環境上不行。大家第一反應都是這一個版本第三方更新了介面,於是,檢視日誌,但是線上和驗證環境傳參和介面返回都一致;於是看相關資料依賴介面,也沒什麼問題;還看了資料庫記錄;模擬新舊介面呼叫;程式碼邏輯梳理等方式,幾個小時過去了,應該線上和驗證是完全一致的。

此時方法幾乎已經完全嘗試,感到該問題難以解決,同時又面臨著需要上線的壓力,有點絕望的感覺了。

9166166-8a6705e8647b4d60.jpg 當你感到絕望時,可能是最接近成功的時候
解決

只能喝點水壓壓驚,此時突然想起去對比svn記錄,之前只是看了svn的更新日誌,沒有對比程式碼;於是決定一個個svn版本對比,對比每個版本的每一行程式碼(特別是相關程式碼)更新,不到一個小時,問題終於定位到,而解決方法也很簡單,幾行程式碼搞定。


9166166-67863538a26aa025.jpg
總結

使用了很多方式,最終只剩下最笨的方式時,其實已經到了最接近成功的時候,因為在此之前,已經排除了其餘所有的問題,以及所有處理問題的方式;你需要驗證的只有最後一種可能,而剩下的也只有最後一種驗證方式;如果說還有機會成功,那麼這就是唯一正確的方式,因為其餘錯誤的方式你已經一一排除了;此時,你需要做的,只是堅持。

原文:簡書ThinkinLiu 部落格: IT老五

ps: 其實針對這一問題,還有其他感慨,比如“原以為的重大bug,其實只是一次編碼時的粗心大意”、“最可怕的不是無法解決問題,而是壓根不知道問題因何而生”;但是最大的感慨還是“當你感到絕望時,可能是最接近成功的時候”。