透明還是不透明,是個問題 —— 《你不知道的 JavaScript》書評
很喜歡《你不知道的 JavaScript》系列。我想這套書真正做到了深入淺出。入得深,以 JS 規範為藍本,把原理剖析的一清二楚,本書並不適用於初學者,而是對JS開發有一定的經驗的人。出的淺,剖析完原理,評判完各種觀點、方法的優缺點,能夠給出自己的結論,收斂到切實可行的方法。
這是一套有個性的書。針對市面上一刀切式的批判 JS 缺陷的書籍,作者的觀點是,你丫不會用而已。對於 JS 的 “bad parts”,作者認為不應該唯恐避之而不及,在倒掉洗澡水的同時把孩子也給倒掉了;而是取其精華,去其糟粕。在武林高手手裡,再爛的招式,也可以化腐朽為神奇。
更有意思的是,作者沒有迴避網路上對於 JS 一些奇葩特性的吐槽,而是秉著該書一貫的原則,進行細緻的剖析,給出令人信服的解釋。這一貫的原則——同時也是作者對於程式設計的理念——就是你必須知道自己寫的程式是如何執行的。你不僅僅要知道程式為什麼不能執行,更要知道程式為什麼能夠執行,否則你寫的程式就是“紙牌屋程式”。
對於這一點我深以為然。我曾經在播客上聽過一期作者的談話節目。作者認為,從事程式開發工作,不僅僅要對工作中使用的工具掌握精通,還要對該工具的底層理解透徹。假如你從事 React 開發,那麼除了精通 React 之外,還要對 JS 語言本身有深入的理解。當然技術棧可以一直往下深挖,但是至少要對自己所使用工具的下一層能夠理解。
“透明”一詞相信廣大程式設計師都不陌生。高層抽象對底層細節進行封裝,只暴露出簡單、符合直覺的介面,這樣我們就可以說,底層程式細節對於呼叫高層介面的人來說,就是透明的(不可見的)。分層抽象和封裝在軟體工程領域是非常有用的方法論。很多程式設計師也只滿足於會使用高層介面進行程式開發,而對於底層細節一無所知。
如果你對於中學時老師的口頭禪“你不需要理解,記住這麼做就可以了”不以為然,對自己的程式為什麼能夠執行而懷有強烈的好奇心,希望能夠明白自己在幹什麼,那麼,這個系列的書籍就是為你而寫的。
相關文章
- javascript,還是javascript的問題JavaScript
- 健康還是工作,這是個問題
- 大衛談學習3:方法還是問題,這是個問題!
- 【基礎】EM 還是 REM?這是一個問題!REM
- 書評:《程式是給自己看的還是給別人看的》
- Spring的問題,還是Tomcat的問題SpringTomcat
- 架構設計:程式還是執行緒?是一個問題!架構執行緒
- 你不知道的JavaScript用法 Hacker是這樣寫JS的JavaScriptJS
- 轉賬問題是屬於業務問題還是屬於技術問題?
- 《你是在做牛做馬還是在做主管》- 讀書筆記筆記
- 設定UIView的物件不透明UIView物件
- 讀書筆記 – 你不知道的 JavaScript(上)筆記JavaScript
- 《你不知道的JavaScript》 (下) 讀書筆記JavaScript筆記
- 《你不知道的JavaScript》 (上) 讀書筆記JavaScript筆記
- 《你不知道的JavaScript》 (中) 讀書筆記JavaScript筆記
- 《你不知道的JavaScript》讀書筆記(一)JavaScript筆記
- 讀書筆記 - 你不知道的 JavaScript(上)筆記JavaScript
- 讀書筆記-你不知道的JavaScript(上)筆記JavaScript
- 你不知道的JavaScript讀書筆記-1JavaScript筆記
- 【調優】設計問題還是優化問題?優化
- 通訊是個大問題,還好我們有方法。
- javascript中怎麼判斷某變數是null,undefined,還是不存這個變數 ? 以及變數是array 還是 object 還是 null ?JavaScript變數NullUndefinedObject
- Oracle 11.2的BUG?還是我的問題?Oracle
- 小遊戲研發團隊生存圖鑑:存活還是解散,這是個問題!遊戲
- netty系列之:選byte還是選message?這是一個問題Netty
- JAVA關於判斷年份是閏年還是平年的問題Java
- SOA最核心問題:人還是流程?
- oracle驅動還是程式有問題?Oracle
- 《你不知道的 JavaScript》全卷讀書筆記JavaScript筆記
- CoffeeScript?TypeScript?還是JavaScriptTypeScriptJavaScript
- 你是在授權,還是在逼走你的人才?
- 細讀《你不知道的JavaScript·上卷》1-1 作用域是什麼?JavaScript
- 一個不知道產生錯誤原因的javascript的問題。JavaScript
- 你需要Mobx還是Redux?Redux
- 你需要 Mobx 還是 Redux ?Redux
- 問一個白痴問題實在弄不清楚了:JPA到底是標準還是實現
- iOS模態出來一個半透明的控制器且子空間不透明iOS
- 為什麼找不到工作的是你,技術差的還是你?