Early Return — Coding Skill

介紹一下工作中對於Clean Code有相當幫助的東西-Early Return

什麼是Early Return?就是從字面上的解釋沒錯,“盡可能的早點返回”。

這是什麼意思呢?

“概念是讓程式碼盡早的完成任務,避免過深的巢狀導致閱讀的不易”

因為我們每一次Coding的時候,常常會碰到各種需要多層判斷的情況,或者是需要先得到A再來去B找資料,諸如此類的情況發生,因此在Coding的過程中,我們會不知不覺的寫出一層又一層的巢狀判斷式。

如果是一個人寫整個專案或許還不會出現問題,但如果是一群人共同開發、維護一個專案時,這樣的Coding Style會降低可讀性,也會讓Debug難度增加(當你遇到Bug的時候你就會一層一層的想邏輯,很痛苦)

這時候我們就可以使用Early Return這個技巧。

那具體來說,這到底是怎麼回事?我舉例一個情況

今天我們Coding時,要來撈資料,我們使用URLSession下載資料,輸入了Token、輸入了URL、輸入了特定的UserData,做出了一個Funtion像是下面的樣子

簡單抓個圖舉例….

然後Build的時候….跑跑跑跑,最後發現在下載時出現錯誤了!然後我們才從最內層的巢狀找問題,簡單的CRUD看起來當然沒有問題,但一個APP不會只有一份CRUD、也不會每次都能這麼簡單的找到Bug。

因此這時候我們可以運用Early Return的技巧

我們先撰寫一個Funtion,檢查下載過程中是否出現Error,並確認是什麼樣子的問題會導致出現Error,接著將此函式變成Static、或者是包裹在一個指定Manager中,讓我們可以在其他結構中調用這個Function

就是這樣

然後在Load Data的時候調用Function,先確定是否有Error,若沒有則Load Data下來!這樣除了可以優化Coding Style,也可以分離功能,將Loading跟Error的部分分離,確保出現Bug時,可以快速暸解問題會出現在哪裡?

差不多就醬~小更新一篇

--

--