JavaScript >> Javascript 文檔 >  >> JavaScript

現在可用:可維護的 JavaScript

我很高興地宣布我的最新著作,可維護的 JavaScript , 現在可以印刷了。感謝 O'Reilly 的人們,這本電子書上個月作為預覽版發布了,但現在所有的編輯都已經完成,這本書也正式完成了。我對這本書感到非常興奮,甚至比其他一些書更興奮,因為它與我以前寫的任何一本都完全不同。

我對這本書感到非常興奮的一個原因是因為它是第一本完全由我自己構思和編寫的書。我以前的每一本書都是通過其他書發展而來的。 專業的 JavaScript 不是我打算寫的書,但這是我同意寫的書。在最終將這本書放在一起之前,我與 Jim Minatel 一起制定了大綱。 專業的阿賈克斯 完全是吉姆的(絕妙的)主意。我什至為此與他爭吵,起初拒絕寫。經驗教訓:吉姆就是那個人。對於 高性能 JavaScript ,我被雅虎聯合聯繫了!和 O'Reilly 來寫。

Maintainable JavaScript 另一方面,它源於我剛開始在 Yahoo! 時的一次演講。 (尷尬視頻可在 YUI 劇院觀看)。這是我第一次演講,所以很粗暴。我還把水灑在筆記本電腦上大約一半,所以我嚇壞了電腦可能會爆炸。無論如何,去年我被要求為 PayPal 重新發表演講,然後收到其他要求進行演講的請求。在重做演示文稿時,我注意到我在第一個版本中所說的幾乎所有內容仍然適用(除了一些個人喜好)。

12 月,我一直在想更好的方法來解釋這些主題,不知不覺中,我已經勾勒出一整本書的大綱,並正在鑽研寫作。這本書幾乎是自己寫的,因為我第一天就寫了 45 頁。沒過多久,這本書就寫完了,準備好了。

我也對這本書感到興奮,因為它在很大程度上是一本意見書。我正在告訴你我在職業生涯中編寫企業級 JavaScript 的經歷。正因為如此,我可以從我的個人經驗中分享一些故事,說明為什麼有些做法比其他做法更好。簡單地說,我在這本書中使用了“我”這個詞,那是一種奇妙的感覺。它使這本書比我的其他書更具個性化、對話性。

是的,是的……它是關於什麼的?

Maintainable JavaScript ,就像我的同名演講一樣,都是關於編寫將繼續工作五年的 JavaScript。隨著瀏覽器和 Web 技術的快速發展,可以運行五年的代碼可能看起來像是白日夢,但這不僅是可能的,而且對您的團隊很重要。你的代碼應該比你在任何給定工作上的存在都更長壽,而且它應該能夠被其他人輕鬆處理。

為此,可維護的 JavaScript 專注於三件事:

  1. 代碼風格 – 是的,每個人都喜歡關於代碼風格指南的精彩討論。我比較和對比了幾個流行的風格指南中的風格指南,並就什麼是好的代碼風格添加了我自己的看法。最後,風格是個人的,真正重要的是團隊中的每個人都以相同的方式編寫代碼。本書的這一部分將帶您了解所有應該放入風格指南的重要風格注意事項(我的個人風格指南的副本作為附錄包含在內)。
  2. 編程實踐 - 這些比代碼風格更進一步,並指導您解決簡單問題的常見解決方案。編程實踐是算法和方法,而不是語法。例如,瀏覽器嗅探是一種編程實踐。本節介紹了幾種好的或壞的做法,並解釋了為什麼要使用現實生活中的情況。
  3. 自動化 – 確保遵循樣式指南並且其他錯誤不會隨著時間的推移而蔓延的方式。通過採用自動化的方式處理和驗證代碼,您可以防止代碼腐爛並確保新代碼始終遵循既定準則。本節使用 Ant 作為示例,說明如何構建一個可以驗證、縮小、連接和測試代碼的自動化系統。

與我的其他書籍不同,我相信本書中的技巧和技巧將在很長一段時間內保持相關性。正如我所說,它始於 2007 年的一次演講,我提到的幾乎所有內容仍然相關,所以我希望這些技巧在未來繼續具有相關性。我希望你喜歡它!


Tutorial JavaScript 教程
  1. 使用 Redux 和 Sagas 的 React 身份驗證應用程序

  2. VS Code 擴展改善你的項目版本管理

  3. 用於從 DynamoDB 查詢信息的簡單 TypeScript 類

  4. 如何存根茉莉模擬對象的方法?

  5. ✏️ 和我一起學習 ES6:第二部分

  6. #100DaysOfCode 第 7 天:學習 Jest 以測試 React 組件

  7. 電暈幫助助手

  1. res.setHeader(“Set-Cookie”, ...) 沒有在 Node / Express 中設置 cookie

  2. 使用 Node.js 和 Socket.io 反應即時聊天應用程序

  3. 不再有 Redux Boilerblate Hell。(Redux 工具包)

  4. 數字團隊建設

  5. 為什麼 JavaScript 數字不精確

  6. Angular 2 Ionic 2 – 如何將最大或最小日期設置為今天以進行日期輸入?

  7. NestJS 和“類驗證器”備忘單

  1. Ionic React JS AWS Amplify 身份驗證 CRUD 教程使用數據存儲和存儲 API

  2. 如何使用 Node 製作漂亮、簡單的 CLI 應用程序

  3. 過濾塊

  4. 你應該學習 JavaScript 的 3 個主要原因