🔦容錯
意外總是會發生,但可以有策略地降低風險。不管是生活還是開發者的日常工作流程,都該有一些容錯的餘裕。
試錯,講的是勇於嘗試。容錯,講的則是為錯誤留出空間。
人們懂得為旅行的安全與順暢,多準備一些東西,例如:保險、備用現金、多張信用卡等等。這些措施都是用一點代價,換來對意外的抗性。
那麼,身為軟體工程師,我們是否有為了確保工作流程的順利而多做準備呢?
網路中斷或是停電時,還能不能繼續工作?當新版 iOS 推出時,有沒有額外的設備可以用來測試,還是要冒著風險把自己的手機升級到 Beta 版?
我們的軟體生意,有依賴於少數幾個關鍵服務嗎?如果它們掛掉或是停止支援,這門生意還能正常運作嗎?
上述這些情況是我們應該要考慮的。工作流程或是生意運作,若有不在自己控制範圍的依賴,就應該要做點準備。
網路與電力
網路的穩定對於電腦工作者,尤其是軟體開發者,是關鍵。所以,我個人的工作桌主要使用有線網路,其次才是 Wi-Fi。即使是在家裡客廳用電腦,我也備有網路線加 USB-C 網卡,需要穩定傳輸時,隨時可以接上。
在「停電時維持電腦能運作」這件事上,我不像一些人會在家中準備發電機或是大型儲電設備。但是我至少不會把 Mac 的桌機安排成主力工作設備,而總是會選擇筆電。原因很簡單:筆電內建電池,在缺乏外部電源的情況下,至少可以撐上一段工作時間。
應對 Apple Bugs 的策略
這畢竟是個 iOS 開發者為背景與主要讀者群的專欄,所以我特別提一下針對 Apple,我們能做的準備。
Apple 提供了系統、語言、開發工具,以及許多框架和 API,讓我們得以在其上開發各種應用程式。我們十分依賴 Apple 提供的東西的穩定。
若你有幾年的開發經驗,就會知道不能完全相信 Apple。我們應該要建立一些防範措施,以免受傷。
我歸納出了自己對 Apple 採取的容錯策略: