本書是作者Nicolás Bevacqua所寫的探索JavaScript架構的系列書之一,探討了軟件復雜性的基本原理,以及如何在JavaScript中應用這些原理開發具有高可維護性和可讀性的模塊化應用。書中給出了很多簡明直接的建議和實例。全書從模塊化思維開始,深入淺出地探討了模塊化的原則、如何設計模塊,以及代碼模塊化的實踐等,還介紹了應用的開發方式以及開源原則。閱讀本書,你能掌握模塊化JavaScript開發,使模塊化在實際生產中產生真正的價值。本書中的大部分建議、思考和指導都不是JavaScript特有的,因此本書不僅僅適合使用JavaScript和ES6的開發者和愛好者閱讀,只要對編寫易讀、易維護、可擴展性強的模塊化代碼感興趣的人,都不妨讀一讀。
Nicolás Bevacqua 是Elastic 的高級軟件工程師。他寫了一系列JavaScript書籍,包括JavaScript Application Design(Manning,2015)、Practical Modern JavaScript(O’Reilly,2017),還有本書,即Mastering Modular JavaScript(O’Reilly,2018),同時他也是ponyfoo網站的編輯。除了解決JavaScript 編程問題之外,Nicolás 在與他人分享自己的知識方面也很有經驗。你可以在推特上找到他(@nzgb)
回曉,Web開發者,現任餓了么資深前端工程師,負責本書第1章“模塊化思維”與第2章“模塊化原則”的翻譯。楊蓉,Web前端開發者,畢業于華師大軟件學院,目前均就職于餓了么大前端,負責本書第3章“模塊設計”的翻譯。陳立伸,現任餓了么高級前端工程師,負責本書第5章“模塊化模式與實踐 ”和第6章“開發的方法論與哲學”的翻譯。朱良臻,Web開發者,前端愛好者。喜歡各種有趣的技術。負責本書第4章”內部構造“的翻譯。
前言 VIII
第 1 章 模塊化思維 1
1.1 模塊化思維簡介 1
1.2 模塊化簡史 3
1.3 模塊化設計的好處 11
1.4 模塊化粒度 13
1.5 模塊化 JavaScript 的必要性 15
第 2 章 模塊化原則 19
2.1 模塊化設計的要點 21
2.2 CRUST 原則:一致、彈性、
明確、簡單和小巧 35
第 3 章 模塊設計 47
3.1 構建模塊 47
3.2 CRUST 原則 56
3.3 修剪模塊 63
第 4 章 內部構造 71
4.1 內部復雜性 71
4.2 重構復雜代碼 76
4.3 像熵一樣的狀態 95
4.4 數據結構為王 102
第 5 章 模塊化模式與實踐 109
5.1 利用現代 JavaScript 109
5.2 組合與繼承 121
5.3 代碼模式 127
第 6 章 開發的方法與哲學 137
6.1 安全的配置管理 137
6.2 顯式依賴管理 143
6.3 作為黑盒的接口 145
6.4 構建、部署與運行 146
6.5 無狀態 149
6.6 開發與生產的平等性 152
6.7 抽象問題 154
關于作者 157
關于封面 157