iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
1

今天預計要講 Pure Functions

FP 中有一個不能不提的概念,江湖上人稱純函數,但他到底有多純呢?至今仍然是個謎
但他能使你更容易去測試你的程式碼

如果一個 function 滿足兩個條件,則該 functtion 是 Pure Functions:

1.當給定該 function 相同的 input(Parameter) 時,該 function 始終會產生相同的 output(return)

2.該 function 沒有其他  side effects 

純函式會更容易測試這句話是什麼意思?各位可以想想,由於 Pure Function 具有同輸入同輸出的特性,這樣他擁有高可預測性,在實作上盡量讓每個函數都是 Pure Function,這樣開發上只需理解函數作用在做什麼就好,這樣能大幅提升重構的速度,如果該函數會牽扯到其他參數,那且不是牽一髮動全身,改一個地方,爆一堆東西,光想到你就懶得重夠了。

今天先提供簡單範例:
例如:

func PlayPS4WithSomeGame(_ gameTime: Hours, form games:[Game]) -> [Game] {
    return  games.
    filter { $0.gameTime < gameTime }
}


上一篇
Swift Functional Programming (二)
下一篇
封印吧 Layer
系列文
iOS 開發:燃燒吧! 從初心者到超級初心者的轉職之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言