1. 程式人生 > >解決問題感想(一)

解決問題感想(一)

在現在的公司做為一名高階程式設計師已有一年有餘,已對現有的專案業務及架構已有比較深的瞭解,但就在上一個星期五遇到一問題,測試人員在測試環境也是通過的且做了壓力測試也通過,就是遲遲沒有找原因何在,當時心想覺得此問題很詭異,但當晚要求必須要上新版本,沒辦法只能在該方法中可能出現問題的地方加上一系列的校驗進行封堵可能出錯,雖然這樣做了,但做為一名程式設計師來說這種做法明知是不可靠的,當時情況不得已只能先上上試試看看的心態。第二天線上還是報許多訂單缺失多個屬性值。後來請來了架構師過來幫忙排查,還是沒有找根本的原因。最後請教了一對公司整體業務運營比較瞭解的人看了下,訂單內容欄位json資料多個屬性丟失問題,通過資料對比及查詢規律,將丟失的訂單及正常訂單內容欄位json資料進行對比,最後發現有一個屬性key不一樣且丟失屬性的那個key是原來以前版本的。此時讓我想起很有可能是老版本還在服務端執行,通過和運營組的人溝通查明果真有一個老版本還在執行。最後斷定在基中一個部署節點上有一個老版本包還在伺服器上執行,導致部分訂單內容欄位json資料部分屬性值丟失。所以做為一個程式設計師排查問題應當:
       一、首先檢查自己業務邏是否正確

       二、業務邏輯若正確,測試是否通過

       三、檢查非常規下情況下可能出現的問題

       四、通過錯誤資料找出規律

       五、通過錯誤資料和正常資料進行比較找出破綻

       六、檢查外部環境的影響,如:網路、ESB、資料庫等

       七、檢查部署節點是否有問題

       八、。。。。。。。。(待續)