函數式編程思維讀後總結與感想

来源:https://www.cnblogs.com/lying7/archive/2023/02/03/17087964.html
-Advertisement-
Play Games

通常,不同的公司里有著不同的編碼規範,主要是從代碼得準確性、穩定性、可讀性等地方著手制定,以提高團隊成員之間的協作效率,這裡主要是列出一些常見的編碼規範。 ...


1. 基本信息

函數式編程思維 Functional Thinking

[美] 福特(Neal Ford) 著,郭曉剛 譯

人民郵電出版社,2015年8月出版

1.1. 讀薄率

書籍總字數242千字,筆記總字數9983字。

讀薄率9983÷242000≈4.13%

統計口徑恢復到版權頁書籍總字數,讀薄率又下來了。

1.2. 讀厚方向

  1. Java 8函數式編程

  2. Java實戰(第二版)

  3. Learning Java Functional Programming

  4. Functional C#

  5. Functional Programming in C#

1.3. 筆記--章節對應關係

筆記 章節 字數
讀函數式編程思維筆記01_演化的語言 第1章 為什麼
第5章 演化的語言
2336
讀函數式編程思維筆記02_轉變思維 第2章 轉變思維 1381
讀函數式編程思維筆記03_權責讓渡 第3章 權責讓渡
第4章 用巧不用蠻
2530
讀函數式編程思維筆記04_語言與範式_模式與重用 第8章 多語言與多範式
第6章 模式與重用
1907
讀函數式編程思維筆記05_現實應用 第7章 現實應用 1829
總計 9983

2. 亮點

2.1. 學會用另一種方式去思考

學語言、學語法易,但是學會用另一種方式去思考難,尤其在不是白紙一張的情況下,很容易受到命令式編程或者OOP的影響。

2.2 語言設計者擁有上帝視角

語言設計者可以無視他們給語言定的規矩,開發者無法觸碰的底層設施,不過是語言設計者手中的玩物,他們擁有的優化手段和空間是“凡人”無法企及的。

2.3. 讓運行時去管理狀態

Java接管記憶體分配減輕了我們的負擔,消除了垃圾收集的麻煩;Clojure抹去了併發的麻煩。將低層次細節(如垃圾收集)的控制權移交給運行時,從而消弭了一大批註定會發生的程式錯誤。

放棄對繁瑣細節的掌控,關註問題域,而非關註問題域的實現在,這是交出控制權的觀點。

2.3 元編程

函數式編程和元編程是正交的,使用元編程並不妨礙我們使用函數式編程的語言構造。

3. 感想

3.1. 盡信書,不如無書

盡信書,不如無書,不過,還是要多讀書,多思考,多方位,多角度相互印證。

3.2 不重覆造輪子,不隨便選輪子

語言設計者可以無視他們給語言定的規矩,擁有的優化手段和空間是“凡人”無法企及的,大部分情況下他們設計的東西更加高效,但是君不見蓬勃發展的第三方庫,語言自身不斷版本迭代更新、相容並蓄取百家之長,以及那些obsolete API

有現成的最好就用現成的,但是要Double Check,要測試測量。

3.3. 經典書籍,推薦閱讀


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、前言 很多企業管理系統,在單據及報表的使用時,都會提供小數點有效數字後0是否顯示的功能。在金蝶雲星空的BOS平臺,這個功能叫"隱藏尾0"。現在假如自己開發一個系統,提供可配置的"隱藏尾0"的功能,該如何實現呢?以下是資料庫開發方面的解決方案,僅供參考。 二、方案 方法一、將數據轉換為REAL類型 ...
  • 閱識風雲是華為雲信息大咖,擅長將複雜信息多元化呈現,其出品的一張圖(雲圖說)、深入淺出的博文(雲小課)或短視頻(雲視廳)總有一款能讓您快速上手華為雲。更多精彩內容請單擊此處。 摘要:GaussDB性能調優過程需要綜合考慮多方面因素,因此,調優人員應對系統軟體架構、軟硬體配置、資料庫配置參數、併發控制 ...
  • 華為 HMS Core 運動健康服務(HUAWEI Health Kit)提供原子化數據開放。應用在獲取用戶數據授權後,可通過介面訪問運動健康數據,對用戶數據進行讀寫等操作,為用戶提供運動健康類數據服務。 開發者應用在開發和測試階段訪問用戶運動或健康數據時,會有100個用戶的數量限制,需要通過“申請 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 本文用一個簡單的 demo 講解 App端 半屏連續掃碼 的實現方式,包括(條形碼、二維碼等各種各樣的碼)。 我會從實現思路講起,如果你比較急可以直接跳到 動手實現 章節獲取代碼。 開發和運行環境 開發工具:HBuilderX 前端框架: ...
  • Web 頁面可以使用多種方式實現動畫效果,其中最常用的有兩種: CSS 動畫:通過 CSS 中的 transition 和 animation 屬性來實現動畫效果。CSS 動畫實現起來簡單,性能消耗小,支持廣泛。 JavaScript 動畫:通過 JavaScript 代碼來實現動畫效果。JavaS ...
  • At-rules規則是目前CSS中一種常見的語法規則,它使用一個"@"符號加一個關鍵詞定義,後面跟上語法區塊,如果沒有則以分號結束即可。 這種規則一般用於標識文檔、引入外部樣式、條件判斷等等,本文是對該規則的使用總結。 常用規則 @import @import 主要用於從其他樣式表導入新的樣式規則, ...
  • jwt擴展欄位介紹 為了實現業務的定製化需求和開發人員使用的便利,對kc的JWT進行了擴展,這個擴展欄位在解析JWT之後都可以看到。 jwt的payload { "exp": 1675329802, "iat": 1675329622, "jti": "2a80e925-b9ce-464f-822d ...
  • “ DDD設計的目標是關註領域模型而並非技術來創建更好的軟體,假設開發人員構建了一個SQL,並將它傳遞給基礎設施層中的某個查詢服務然後根據表數據的結構集取出所需信息,最後將這些信息提供給構造函數或者Factory,開發人員在做這一切的時候早已不把模型看做重點了,這個整個過程就變成了數據處理的風格 ”... ...
一周排行
    -Advertisement-
    Play Games
  • GoF之工廠模式 @目錄GoF之工廠模式每博一文案1. 簡單說明“23種設計模式”1.2 介紹工廠模式的三種形態1.3 簡單工廠模式(靜態工廠模式)1.3.1 簡單工廠模式的優缺點:1.4 工廠方法模式1.4.1 工廠方法模式的優缺點:1.5 抽象工廠模式1.6 抽象工廠模式的優缺點:2. 總結:3 ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 本章將和大家分享ES的數據同步方案和ES集群相關知識。廢話不多說,下麵我們直接進入主題。 一、ES數據同步 1、數據同步問題 Elasticsearch中的酒店數據來自於mysql資料庫,因此mysql數據發生改變時,Elasticsearch也必須跟著改變,這個就是Elasticsearch與my ...
  • 引言 在我們之前的文章中介紹過使用Bogus生成模擬測試數據,今天來講解一下功能更加強大自動生成測試數據的工具的庫"AutoFixture"。 什麼是AutoFixture? AutoFixture 是一個針對 .NET 的開源庫,旨在最大程度地減少單元測試中的“安排(Arrange)”階段,以提高 ...
  • 經過前面幾個部分學習,相信學過的同學已經能夠掌握 .NET Emit 這種中間語言,並能使得它來編寫一些應用,以提高程式的性能。隨著 IL 指令篇的結束,本系列也已經接近尾聲,在這接近結束的最後,會提供幾個可供直接使用的示例,以供大伙分析或使用在項目中。 ...
  • 當從不同來源導入Excel數據時,可能存在重覆的記錄。為了確保數據的準確性,通常需要刪除這些重覆的行。手動查找並刪除可能會非常耗費時間,而通過編程腳本則可以實現在短時間內處理大量數據。本文將提供一個使用C# 快速查找並刪除Excel重覆項的免費解決方案。 以下是實現步驟: 1. 首先安裝免費.NET ...
  • C++ 異常處理 C++ 異常處理機制允許程式在運行時處理錯誤或意外情況。它提供了捕獲和處理錯誤的一種結構化方式,使程式更加健壯和可靠。 異常處理的基本概念: 異常: 程式在運行時發生的錯誤或意外情況。 拋出異常: 使用 throw 關鍵字將異常傳遞給調用堆棧。 捕獲異常: 使用 try-catch ...
  • 優秀且經驗豐富的Java開發人員的特征之一是對API的廣泛瞭解,包括JDK和第三方庫。 我花了很多時間來學習API,尤其是在閱讀了Effective Java 3rd Edition之後 ,Joshua Bloch建議在Java 3rd Edition中使用現有的API進行開發,而不是為常見的東西編 ...
  • 框架 · 使用laravel框架,原因:tp的框架路由和orm沒有laravel好用 · 使用強制路由,方便介面多時,分多版本,分文件夾等操作 介面 · 介面開發註意欄位類型,欄位是int,查詢成功失敗都要返回int(對接java等強類型語言方便) · 查詢介面用GET、其他用POST 代碼 · 所 ...
  • 正文 下午找企業的人去鎮上做貸後。 車上聽同事跟那個司機對罵,火星子都快出來了。司機跟那同事更熟一些,連我在內一共就三個人,同事那一手指桑罵槐給我都聽愣了。司機也是老社會人了,馬上聽出來了,為那個無辜的企業經辦人辯護,實際上是為自己辯護。 “這個事情你不能怪企業。”“但他們總不能讓銀行的人全權負責, ...