有時候因為第三方服務突然改變原本輸出的格式,也會導致原本的程式無法處理。
因為我們公司需要使用者先上傳他們的基本資料,經過驗證之後才能給予服務,所以我們使用的第三方服務,是可以辨識使用者的證件,並且自動辨識上面的文字,但有時候上面也會有一些無法辨識的亂碼,所以我們必須要將那些亂碼過濾掉。
今天就發生了在辨識的人名上面出現了不是正常的文字,導致系統 error 出現 crash。
在看到 error log 跟 crash report 的同時,我跟另外一個組員看了報告之後,不到五分鐘就想出了可能解決的方法,將那些不能辨識的編碼先過濾掉。
但在這邊很不小心的是我誤用了正規表達式,讓所有 parsing 出來的值的 u 跟 0 都不見了。
大約在兩個小時之後我們發現了這個情況,所以我跟另外一個同事又開始研究該如何解決這個我造成的問題,並且我們花了半個小時的時間找到有問題的字串,並且更新了過濾的方法,並寫了測試碼(並運用實際的資料)來防止錯誤再次發生。
在大家都對於 codebase 的每一個部分都熟悉的情況下面,我們可以互相幫忙,並不需要特定一個人修復特定的一個部分,是我所屬的小組一直都題倡的關念,不然如果有一天那個人剛好有事,或者離職了,那沒有人看得懂他寫的 code ,該怎麼辦呢?