Sunrabbit

您還在使用函數式程式庫嗎?

  • 撰写语言: 韓国語
  • 基准国家: 所有国家country-flag
  • 信息技术

撰写: 2024-07-30

撰写: 2024-07-30 10:40

過去幾年來,函數式編碼相當流行。


物件導向提供了架構,

而函數式編碼則提升了程式碼細節的簡潔性。


當然,函數式編碼的流行趨勢會以幾年的週期持續出現。

隨著函數式編碼的流行,各種函式庫開始出現。


FxTsfp-tslodash等等。


就我個人而言,FxTs僅僅是利用生成器(generator)來建立延遲評估(lazy evaluation)的工具包。


lodash也給人同樣的工具包感覺。



當然,這些工具包確實有助於宣告式編程。


但我們想要的函數式編程並非如此,而是映射(map)、函數應用(apply)和單子(monad),以及更多單子。

fp-ts符合了這個要求,而且其維護者也真心熱愛函數式編程。


然而,幾個月前,我聽說這個函式庫Effect已經合併。


因此,我查看了Effect,發現有些不同。


如果說之前的fp-ts更像是函式庫,那麼這次的Effect更像是框架。

要使用這個Effect,需要具備Effect的基本知識。


NestJsNextJs的使用也需要對其有了解,


函式庫只要 API 公開良好,就可以直接拿來使用,但框架則需要對其套件有足夠的理解。


像這樣的Effect,並非用 Observable 包裹,而是用 Effect 包裹物件,

就像async關鍵字一樣,具有傳染性。


Effect物件的使用需要相應的函數也變成Effect


就像上面程式碼中的program一樣。


當然,作為入口點的函數確實存在,但這並不夠吸引人。


總之,Effect的形態和簡潔性體現了其框架的角色,我期待它能為 Node 社群帶來新的風氣和標準。


评论0