通常,不同的公司里有著不同的編碼規範,主要是從代碼得準確性、穩定性、可讀性等地方著手制定,以提高團隊成員之間的協作效率,這裡主要是列出一些常見的編碼規範。 ...
1. 基本信息
函數式編程思維 Functional Thinking
[美] 福特(Neal Ford) 著,郭曉剛 譯
人民郵電出版社,2015年8月出版
1.1. 讀薄率
書籍總字數242千字,筆記總字數9983字。
讀薄率9983÷242000≈4.13%
統計口徑恢復到版權頁書籍總字數,讀薄率又下來了。
1.2. 讀厚方向
-
Java 8函數式編程
-
Java實戰(第二版)
-
Learning Java Functional Programming
-
Functional C#
-
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,要測試測量。