函式程式設計

merloly發表於2019-03-26

程式設計正規化

  • 指令式程式設計:如何去做,不關注做什麼
  • 函數語言程式設計:把運算過程儘量寫成一系列函式巢狀呼叫
  • 邏輯式程式設計:它設定答案必須符合的規則來解決問題,而非設定步驟來解決問題

惰性

只在需要時才發生

  • 前端的懶載入
  • 前端的tree shaking
  • 無限列表問題
  • recycle list
  • 動態匯入匯出
  • 前端的快取
tree shaking: 如果把程式碼打包比作製作蛋糕,傳統的方式是把雞蛋帶殼全部丟進去攪拌,然後放入烤箱,最後把(沒有用的)蛋殼全部挑選並剔除出去。而treeshaking則是一開始就把有用的蛋白蛋黃放入攪拌,最後直接做出蛋糕。

態射

  • 態射是一種狀態到另一種狀態的對映

高階性

  • 高階性是函數語言程式設計的核心思想之一,在更高的抽象的實現上,必須依靠高階性來實現。通過把函式作為引數,對當前函式注入解決特定任務的特定行為,來代替充斥著臨時變數與副作用的傳統迴圈結構,從而減少所要維護以及可能出錯的程式碼。高階性是玩轉函數語言程式設計的必要特性。
  • 傳入的引數是函式,返回的結果是一個函式,這兩個條件,具備一個就稱為高階函式。

相關文章