編寫可維護的JavaScript

來源:互聯網
上載者:User

《編寫可維護的JavaScript》
基本資料
作者: (美)Nicholas C. Zakas [作譯者介紹]
譯者: 李晶 郭凱 張散集
出版社:人民郵電出版社
ISBN:9787115310088
上架時間:2013-3-10
出版日期:2013 年3月
開本:16開
頁碼:280
版次:1-1
所屬分類:電腦 > 軟體與程式設計 > 網路編程 > javascript

更多關於 》》》《編寫可維護的JavaScript》
內容簡介
電腦書籍
  任何語言都需要強調編碼風格的一致性。只要是團隊開發,每個人都以相同方式編寫代碼就是至關重要的。這樣大家才能方便地互相看懂和維護對方的代碼。
   《編寫可維護的javascript》向開發人員闡述了如何在團隊開發中編寫具備高可維護性的javascript代碼,書中詳細說明了作為團隊一分子,應該怎麼寫javascript。本書內容涵蓋了編碼風格、編程技巧、自動化、測試等幾方面,既包括具體風格和原則的介紹,也包括樣本和技巧說明,最後還介紹了如何通過自動化的工具和方法來實現一致的編程風格。
   《編寫可維護的javascript》作者nicholas c. zakas是頂級的web技術專家,也是《javascript進階程式設計》一書的作者。他曾是yahoo!的首席前端開發工程師,在完成了從一名“獨行俠”到“團隊精英”的蛻變後,他站在前端工程師的角度提煉出眾多的最佳編程實踐,其中包括很多業內權威所推崇的最佳法則,而這些寶貴經驗正是本書的核心內容。
   《編寫可維護的javascript》適合前端開發工程師、javascript程式員和學習javascript編程的讀者閱讀,也適合Team Dev負責人、項目負責人閱讀。運用本書中講述的技巧和技術,可以使javascript團隊編程從俠義的個人偏好的陰霾走出來,走向真正的高可維護性、高效能和高水準。
目錄
《編寫可維護的javascript》
第一部分 編程風格 1
第1章 基本的格式化 4
1.1 縮排層級 4
1.2 語句結尾 7
1.3 行的長度 8
1.4 換行 9
1.5 空行 10
1.6 命名 11
1.6.1 變數和函數 12
1.6.2 常量 13
1.6.3 建構函式 14
1.7 直接量 15
1.7.1 字串 15
1.7.2 數字 16
1.7.3 null 17
1.7.4 undefined 18
1.7.5 對象直接量 19
1.7.6 數組直接量 20
第2章 注釋 21
.2.1 單行注釋 21
2.2 多行注釋 23
2.3 使用注釋 24
2.3.1 難於理解的代碼 25
2.3.2 可能被誤認為錯誤的代碼 26
2.3.3 瀏覽器特性hack 26
2.4 文檔注釋 27
第3章 語句和運算式 30
3.1 花括弧的對齊 31
3.2 塊語句間隔 32
3.3 switch語句 33
3.3.1 縮排 33
3.3.2 case語句的“連續執行” 35
3.3.3 default 36
3.4 with語句 37
3.5 for迴圈 37
3.6 for-in迴圈 39
第4章 變數、函數和運算子 41
4.1 變數聲明 41
4.2 函式宣告 44
4.3 函數調用間隔 45
4.4 立即調用的函數 46
4.5 strict 模式 47
4.6 相等 49
4.6.1 eval() 51
4.6.2 原始封裝類型 52
第二部分 編程實踐 54
第5章 ui層的松耦合 55
5.1 什麼是松耦合 56
5.2 將javascript從css中抽離 57
5.3 將css從javascript中抽離 58
5.4 將javascript從html中抽離 60
5.5 將html從javascript中抽離 62
5.5.1 方法1:從伺服器載入 63
5.5.2 方法2:簡易用戶端模板 64
5.5.3 方法3:複雜用戶端模板 67
第6章 避免使用全域變數 70
6.1 全域變數帶來的問題 70
6.1.1 命名衝突 71
6.1.2 代碼的脆弱性 71
6.1.3 難以測試 72
6.2 意外的全域變數 72
避免意外的全域變數 73
6.3 單全域變數方式 74
6.3.1 命名空間 76
6.3.2 模組 78
6.4 零全域變數 81
第7章 事件處理 83
7.1 典型用法 83
7.2 規則1:隔離應用邏輯 84
7.3 規則2:不要分發事件對象 85
第8章 避免“空比較” 88
8.1 檢測原始值 88
8.2 檢測引用值 90
8.2.1 檢測函數 92
8.2.2 檢測數組 94
8.3 檢測屬性 95
第9章 將配置資料從代碼中分離出來 98
9.1 什麼是配置資料 98
9.2 抽離配置資料 99
9.3 儲存配置資料 100
第10章 拋出自訂錯誤 103
10.1 錯誤的本質 103
10.2 在javascript中拋出錯誤 104
10.3 拋出錯誤的好處 105
10.4 何時拋出錯誤 106
10.5 try-catch語句 107
10.6 錯誤類型 109
第11章 不是你的對象不要動 112
11.1 什麼是你的 112
11.2 原則 113
11.2.1 不覆蓋方法 113
11.2.2 不新增方法 114
11.2.3 不刪除方法 116
11.3 更好的途徑 117
11.3.1 基於對象的繼承 118
11.3.2 基於類型的繼承 119
11.3.3 門面模式 120
11.4 關於polyfill的註解 121
11.5 阻止修改 122
第12章 瀏覽器嗅探 125
12.1 user-agent檢測 125
12.2 特性檢測 127
12.3 避免特性推斷 129
12.4 避免瀏覽器推斷 130
12.5 應當如何取捨 134
第三部分 自動化 135
第13章 檔案和目錄結構 137
13.1 最佳實務 137
13.2 基本結構 138
第14章 ant 143
14.1 安裝 143
14.2 設定檔 143
14.3 執行構建 145
14.4 目標操作的依賴 145
14.5 屬性 146
14.6 buildr項目 148
第15章 校正 149
15.1 尋找檔案 149
15.2 任務 150
15.3 增強目標操作 152
15.4 其他方面的改進 153
15.5 buildr任務 154
第16章 檔案合并和加工 156
16.1 任務 156
16.2 行尾結束符 157
16.3 檔案頭和檔案尾 158
16.4 加工檔案 159
第17章 檔案精簡和壓縮 163
17.1 檔案精簡 163
17.1.1 使用yui compressor精簡代碼 165
17.1.2 用closure compiler精簡 167
17.1.3 使用uglifyjs精簡 169
17.2 壓縮 170
17.2.1 運行時壓縮 171
17.2.2 構建時壓縮 171
第18章 文檔化 175
18.1 jsdoc toolkit 175
18.2 yui doc 177
第19章 自動化測試 180
19.1 yui test selenium引擎 180
19.1.1 配置一台selenium伺服器 181
19.1.2 配置yui test selenium引擎 181
19.1.3 使用yui test selenium引擎 181
19.1.4 ant的配置寫法 183
19.2 yeti 184
19.3 phantomjs 186
19.3.1 安裝及使用 186
19.3.2 ant的配置寫法 187
19.4 jstestdriver 188
19.4.1 安裝及使用 188
19.4.2 ant的配置寫法 189
第20章 組裝到一起 191
20.1 被忽略的細節 191
20.2 編製打包計劃 192
20.2.1 開發版本的構建 193
20.2.2 整合版本的構建 194
20.2.3 發布版本的構建 195
20.3 使用ci系統 196
20.3.1 jenkins 196
20.3.2 其他ci系統 199
附錄a javascript編碼風格指南 200
附錄b javascript工具集 223

本圖書資訊來源:中國互動出版網

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.