編寫可維護的JavaScript

china-pub發表於2013-03-08

《編寫可維護的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程式設計的讀者閱讀,也適合開發團隊負責人、專案負責人閱讀。運用本書中講述的技巧和技術,可以使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 嚴格模式 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

本資訊來源:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16566727/viewspace-755567/,如需轉載,請註明出處,否則將追究法律責任。

相關文章