国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

《編寫可維護的JavaScript》之編程實踐

張春雷 / 347人閱讀

摘要:最近讀完編寫可維護的,讓我受益匪淺,它指明了編碼過程中,需要注意的方方面面,在團隊協作中特別有用,可維護性是一個非常大的話題,這本書是一個不錯的起點。擴展閱讀編寫可維護的歡迎來到石佳劼的博客,如有疑問,請在原文評論區留言,我會盡量為您解答。

最近讀完《編寫可維護的JavaScript》,讓我受益匪淺,它指明了編碼過程中,需要注意的方方面面,在團隊協作中特別有用,可維護性是一個非常大的話題,這本書是一個不錯的起點。

本書雖短,卻五臟俱全,主要涵蓋:編程風格(基本格式化、注釋、語句和表達式、變量),編程實踐(UI層松耦合、避免使用全局變量等)、自動化,3個部分的內容。

本文主要整理歸納了書中編程實踐章節的核心內容,其他兩章編碼風格自動化部分,還需結合當前的流行趨勢重新整理,稍后再與大家分享。

第5章 UI層的松耦合

Web開發三大要素,HTML(結構、內容),CSS(布局、樣式),JavaScript(交互、行為)

將JavaScript從CSS中抽離

將CSS從JavaScript中抽離

將JavaScript從HTML中抽離

將HTML從JavaScript中抽離

第6章 避免使用全局變量

導致問題:命名沖突、代碼的脆弱性、難以預測、意外的全局變量

單全局變量:依賴盡量少的全局變量,即只創建一個全局變量

命名空間:將功能按命名空間分組,l例如:var oa30.doc.workflow = {};

模塊:將功能按模塊分組,常用異步模塊定義 Asynchronous Module Definition,簡稱AMD模式

零全局變量:簡單的功能,通過自執行函數,可避免創建全局變量(需使用嚴格模式)

第7章 事件處理

規則1:隔離應用邏輯

規則2:不要分發事件對象

第8章 避免『空比較』

檢測原始值,常用typeof

檢測引用值:檢測函數用typeof、檢測數組用Object.prototype.toString.call(value)===‘[Object Array]"

檢測屬性,最好使用in運算符,只檢測實例對象的屬性,則需配合使用hasOwnProperty()

第9章 將配置數據從代碼中分離出來

配置數據有:URL、重復的值、需要展現給用戶的字符串、設置、可能發生變更的值

抽離配置數據,保存到多帶帶的文件中,與邏輯代碼分開

第10章 拋出自定義錯誤

為了兼容各個瀏覽器,請確保拋出的錯誤是一個Error對象,例如:throw new Error(‘i am a error.");

使用throw還是try-catch,錯誤應該在應用程序棧中最深的部分拋出,業務邏輯代碼應該有錯誤處理的能力

第11章 不是你的對象不要動

不要修改:原生對象、DOM對象、BOM對象、類庫對象

原則:不覆蓋方法、不新增方法、不刪除方法

更好的途徑,使用基于對象的繼承、基于類型的繼承、門面模式

關于Polypill的注解

ECMAScript5引入了三種阻止對象修改的級別,防止擴展、密封、凍結

第12章 瀏覽器嗅探

User-Agent檢測只能用于舊的或者特定版本的瀏覽器,絕不應當用于最新版本的或者未來的瀏覽器。

盡可能地使用特性檢測,退而求其次可考慮User-Agent檢測,永遠不要使用特性推斷和瀏覽器推斷。

擴展閱讀

《編寫可維護的JavaScript》

歡迎來到 石佳劼的博客,如有疑問,請在「原文」評論區 留言,我會盡量為您解答。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79636.html

相關文章

  • 翻譯連載 |《你不知道JS》姊妹篇 |《JavaScript 輕量級函數式編程》- 第 1 章:

    摘要:所以我覺得函數式編程領域更像學者的領域。函數式編程的原則是完善的,經過了深入的研究和審查,并且可以被驗證。函數式編程是編寫可讀代碼的最有效工具之一可能還有其他。我知道很多函數式編程編程者會認為形式主義本身有助于學習。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson - 《You-Dont-Know-JS》作者 關于譯者:這是一個流淌著滬江血液...

    omgdog 評論0 收藏0
  • 個人分享--web前端學習資源分享

    摘要:前言月份開始出沒社區,現在差不多月了,按照工作的說法,就是差不多過了三個月的試用期,準備轉正了一般來說,差不多到了轉正的時候,會進行總結或者分享會議那么今天我就把看過的一些學習資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區,現在差不多9月了,按照工作的說法,就是差不多過了三個月的試用期,準備轉正了!一般來說,差不多到了轉正的時候,會進行總結或者分享會議!那么今天我就...

    sherlock221 評論0 收藏0
  • [JS進階] 編寫維護性代碼 (1)

    摘要:如果值是基本類型,則用操作符檢查其類型。總結所有編程語言都需要可維護性良好的代碼,這個很重要,因為大部分開發人員都花費大量時間維護他人的代碼。 o(╯□╰)o 這并不是什么史詩巨作,沒有非常深入去挖掘這類問題,只是從平常的JS代碼習慣,參考書籍總結而來,希望對你有幫助的! 今天的web應用大至成千上萬行的javascript代碼,執行各種復雜的過程,這種演化讓我們開發者必...

    Youngdze 評論0 收藏0
  • 前端干貨JS最佳實踐

    摘要:避免與進行比較避免推薦與進行比較的代碼,可以用以下技術進行替換如果值是一個應用類型,使用操作符,檢查其構造函數如果值是基本類型,使用檢查其類型如果是希望對象包含某個特定的方法名,則只用操作符確保指定名字的方法存在于對象上。 持續更新地址 https://wdd.js.org/js-best-pr... 1. 風格 一千個讀者有一千個哈姆雷特,每個人都有自己的code style。...

    Aceyclee 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<