注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)編寫可維護(hù)的JavaScript

編寫可維護(hù)的JavaScript

編寫可維護(hù)的JavaScript

定 價(jià):¥55.00

作 者: (美)Nicholas C. Zakas
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: Java Java Script J2EE 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

ISBN: 9787115310088 出版時(shí)間: 2013-03-01 包裝: 平裝
開本: 16開 頁數(shù): 280 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  任何語言都需要強(qiáng)調(diào)編碼風(fēng)格的一致性。只要是團(tuán)隊(duì)開發(fā),每個(gè)人都以相同方式編寫代碼就是至關(guān)重要的。這樣大家才能方便地互相看懂和維護(hù)對(duì)方的代碼。《編寫可維護(hù)的JavaScript》向開發(fā)人員闡述了如何在團(tuán)隊(duì)開發(fā)中編寫具備高可維護(hù)性的JavaScript代碼,書中詳細(xì)說明了作為團(tuán)隊(duì)一分子,應(yīng)該怎么寫JavaScript。本書內(nèi)容涵蓋了編碼風(fēng)格、編程技巧、自動(dòng)化、測(cè)試等幾方面,既包括具體風(fēng)格和原則的介紹,也包括示例和技巧說明,最后還介紹了如何通過自動(dòng)化的工具和方法來實(shí)現(xiàn)一致的編程風(fēng)格。《編寫可維護(hù)的JavaScript》作者Nicholas C. Zakas是頂級(jí)的Web技術(shù)專家,也是《JavaScript高級(jí)程序設(shè)計(jì)》一書的作者。他曾是Yahoo!的首席前端開發(fā)工程師,在完成了從一名“獨(dú)行俠”到“團(tuán)隊(duì)精英”的蛻變后,他站在前端工程師的角度提煉出眾多的最佳編程實(shí)踐,其中包括很多業(yè)內(nèi)權(quán)威所推崇的最佳法則,而這些寶貴經(jīng)驗(yàn)正是本書的核心內(nèi)容?!毒帉懣删S護(hù)的JavaScript》適合前端開發(fā)工程師、JavaScript程序員和學(xué)習(xí)JavaScript編程的讀者閱讀,也適合開發(fā)團(tuán)隊(duì)負(fù)責(zé)人、項(xiàng)目負(fù)責(zé)人閱讀。運(yùn)用本書中講述的技巧和技術(shù),可以使JavaScript團(tuán)隊(duì)編程從俠義的個(gè)人偏好的陰霾走出來,走向真正的高可維護(hù)性、高效能和高水準(zhǔn)。

作者簡(jiǎn)介

  Nicholas C. Zakas是一名前端開發(fā)顧問、作者、演講家。他在Yahoo!供職超過5年時(shí)間。在這期間,他曾是Yahoo!首頁首席前端工程師和YUI代碼貢獻(xiàn)者。他著有《JavaScript高級(jí)程序設(shè)計(jì)》、《Ajax高級(jí)程序設(shè)計(jì)》和《高性能JavaScript》。他的博客地址是:http://www.nczonline.net/。他的Twitter是:@slicknet。

圖書目錄

第一部分 編程風(fēng)格 1
第1章 基本的格式化 4
1.1 縮進(jìn)層級(jí) 4
1.2 語句結(jié)尾 7
1.3 行的長度 8
1.4 換行 9
1.5 空行 10
1.6 命名 11
1.6.1 變量和函數(shù) 12
1.6.2 常量 13
1.6.3 構(gòu)造函數(shù) 14
1.7 直接量 15
1.7.1 字符串 15
1.7.2 數(shù)字 16
1.7.3 null 17
1.7.4 undefined 18
1.7.5 對(duì)象直接量 19
1.7.6 數(shù)組直接量 20
第2章 注釋 21
2.1 單行注釋 21
2.2 多行注釋 23
2.3 使用注釋 24
2.3.1 難于理解的代碼 25
2.3.2 可能被誤認(rèn)為錯(cuò)誤的代碼 26
2.3.3 瀏覽器特性hack 26
2.4 文檔注釋 27
第3章 語句和表達(dá)式 30
3.1 花括號(hào)的對(duì)齊方式 31
3.2 塊語句間隔 32
3.3 switch語句 33
3.3.1 縮進(jìn) 33
3.3.2 case語句的“連續(xù)執(zhí)行” 35
3.3.3 default 36
3.4 with語句 37
3.5 for循環(huán) 37
3.6 for-in循環(huán) 39
第4章 變量、函數(shù)和運(yùn)算符 41
4.1 變量聲明 41
4.2 函數(shù)聲明 44
4.3 函數(shù)調(diào)用間隔 45
4.4 立即調(diào)用的函數(shù) 46
4.5 嚴(yán)格模式 47
4.6 相等 49
4.6.1 eval() 51
4.6.2 原始包裝類型 52
第二部分 編程實(shí)踐 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:從服務(wù)器加載 63
5.5.2 方法2:簡(jiǎn)單客戶端模板 64
5.5.3 方法3:復(fù)雜客戶端模板 67
第6章 避免使用全局變量 70
6.1 全局變量帶來的問題 70
6.1.1 命名沖突 71
6.1.2 代碼的脆弱性 71
6.1.3 難以測(cè)試 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 規(guī)則1:隔離應(yīng)用邏輯 84
7.3 規(guī)則2:不要分發(fā)事件對(duì)象 85
第8章 避免“空比較” 88
8.1 檢測(cè)原始值 88
8.2 檢測(cè)引用值 90
8.2.1 檢測(cè)函數(shù) 92
8.2.2 檢測(cè)數(shù)組 94
8.3 檢測(cè)屬性 95
第9章 將配置數(shù)據(jù)從代碼中分離出來 98
9.1 什么是配置數(shù)據(jù) 98
9.2 抽離配置數(shù)據(jù) 99
9.3 保存配置數(shù)據(jù) 100
第10章 拋出自定義錯(cuò)誤 103
10.1 錯(cuò)誤的本質(zhì) 103
10.2 在JavaScript中拋出錯(cuò)誤 104
10.3 拋出錯(cuò)誤的好處 105
10.4 何時(shí)拋出錯(cuò)誤 106
10.5 try-catch語句 107
10.6 錯(cuò)誤類型 109
第11章 不是你的對(duì)象不要?jiǎng)?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 基于對(duì)象的繼承 118
11.3.2 基于類型的繼承 119
11.3.3 門面模式 120
11.4 關(guān)于Polyfill的注解 121
11.5 阻止修改 122
第12章 瀏覽器嗅探 125
12.1 User-Agent檢測(cè) 125
12.2 特性檢測(cè) 127
12.3 避免特性推斷 129
12.4 避免瀏覽器推斷 130
12.5 應(yīng)當(dāng)如何取舍 134
第三部分 自動(dòng)化 135
第13章 文件和目錄結(jié)構(gòu) 137
13.1 最佳實(shí)踐 137
13.2 基本結(jié)構(gòu) 138
第14章 Ant 143
14.1 安裝 143
14.2 配置文件 143
14.3 執(zhí)行構(gòu)建 145
14.4 目標(biāo)操作的依賴 145
14.5 屬性 146
14.6 Buildr項(xiàng)目 148
第15章 校驗(yàn) 149
15.1 查找文件 149
15.2 任務(wù) 150
15.3 增強(qiáng)的目標(biāo)操作 152
15.4 其他方面的改進(jìn) 153
15.5 Buildr任務(wù) 154
第16章 文件合并和加工 156
16.1 任務(wù) 156
16.2 行尾結(jié)束符 157
16.3 文件頭和文件尾 158
16.4 加工文件 159
第17章 文件精簡(jiǎn)和壓縮 163
17.1 文件精簡(jiǎn) 163
17.1.1 使用YUI Compressor精簡(jiǎn)代碼 165
17.1.2 用Closure Compiler精簡(jiǎn) 167
17.1.3 使用UglifyJS精簡(jiǎn) 169
17.2 壓縮 170
17.2.1 運(yùn)行時(shí)壓縮 171
17.2.2 構(gòu)建時(shí)壓縮 171
第18章 文檔化 175
18.1 JSDoc Toolkit 175
18.2 YUI Doc 177
第19章 自動(dòng)化測(cè)試 180
19.1 YUI Test Selenium引擎 180
19.1.1 配置一臺(tái)Selenium服務(wù)器 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 被忽略的細(xì)節(jié) 191
20.2 編制打包計(jì)劃 192
20.2.1 開發(fā)版本的構(gòu)建 193
20.2.2 集成版本的構(gòu)建 194
20.2.3 發(fā)布版本的構(gòu)建 195
20.3 使用CI系統(tǒng) 196
20.3.1 Jenkins 196
20.3.2 其他CI系統(tǒng) 199
附錄A JavaScript編碼風(fēng)格指南 200
附錄B JavaScript工具集 223 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)