亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

編寫可靠的JavaScript代碼:測(cè)試驅(qū)動(dòng)開(kāi)發(fā)JavaScript商業(yè)軟件

編寫可靠的JavaScript代碼下載

  • 書籍大?。?span>102MB
  • 書籍語(yǔ)言:簡(jiǎn)體中文
  • 書籍類型:國(guó)產(chǎn)軟件
  • 書籍授權(quán):免費(fèi)軟件
  • 書籍類別:javascript電子書
  • 應(yīng)用平臺(tái):PDF
  • 更新時(shí)間:2018-07-05
  • 購(gòu)買鏈接:
  • 網(wǎng)友評(píng)分:
360通過(guò) 騰訊通過(guò) 金山通過(guò)

情介紹

《編寫可靠的JavaScript代碼 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)JavaScript商業(yè)軟件》分為5個(gè)部分:

第Ⅰ部分“奠定堅(jiān)實(shí)的基礎(chǔ)”涵蓋了軟件工程的關(guān)鍵概念,例如SOLID和DRY原

則,還討論了單元測(cè)試和測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的優(yōu)點(diǎn)。

在第Ⅱ部分“測(cè)試基于模式的代碼”中,我們描述并使用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)創(chuàng)建了

幾個(gè)有用的代碼模式。

第Ⅲ部分“測(cè)試和編寫高級(jí)JavaScript特性”描述了如何使用和測(cè)試

JavaScript語(yǔ)言更高級(jí)的特性。

第Ⅳ部分“測(cè)試中的特殊主題”提供了測(cè)試DOM操作的樣例,還演示了用于增強(qiáng)代碼標(biāo)準(zhǔn)的靜態(tài)分析工具的使用。

第Ⅴ部分“總結(jié)”回顧了測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的概念,還展示了一些本書用到的JavaScript習(xí)語(yǔ)。

目錄

第Ⅰ部分 奠定堅(jiān)實(shí)的基礎(chǔ)
第1章 實(shí)踐軟件工程 3
1.1 編寫從開(kāi)始就正確的代碼 4
1.1.1 掌握J(rèn)avaScript的特性 4
1.1.2 在大型系統(tǒng)中規(guī)避JavaScript陷阱 15
1.1.3 應(yīng)用軟件工程原則 17
1.2 編寫保持正確的代碼 22
1.2.1 投資單元測(cè)試的未來(lái) 22
1.2.2 實(shí)踐測(cè)試驅(qū)動(dòng)開(kāi)發(fā) 22
1.2.3 編寫易于測(cè)試的代碼 23
1.3 小結(jié) 26
第2章 準(zhǔn)備工具 27
2.1 使用測(cè)試框架 27
2.1.1 辨別不正確的代碼 30
2.1.2 可測(cè)試性設(shè)計(jì) 32
2.1.3 編寫最少的代碼 33
2.1.4 安全維護(hù)和重構(gòu) 33
2.1.5 可運(yùn)行規(guī)范 34
2.1.6 當(dāng)前的開(kāi)源和商業(yè)框架 34
2.1.7 介紹Jasmine 36
2.2 使用依賴注入框架 41
2.2.1 依賴注入的定義 41
2.2.2 使用依賴注入讓代碼更可靠 43
2.2.3 掌握依賴注入 43
2.2.4 案例研究:編寫一個(gè)輕量級(jí)依賴注入框架 43
2.2.5 使用依賴注入框架 50
2.2.6 當(dāng)前的依賴注入框架 52
2.3 使用切面工具 53
2.3.1 案例研究:使用和不使用AOP進(jìn)行緩存 53
2.3.2 案例研究:構(gòu)建Aop.js模塊 55
2.3.3 其他AOP庫(kù) 67
2.3.4 結(jié)論 68
2.4 使用代碼檢查工具 68
2.4.1 使用linting工具讓代碼更可靠 68
2.4.2 JSHint簡(jiǎn)介 71
2.4.3 其他工具 73
2.4.4 嚴(yán)格模式 74
2.5 小結(jié) 74
第3章 構(gòu)造可靠的對(duì)象 75
3.1 使用原生數(shù)據(jù) 75
3.2 使用對(duì)象字面量 77
3.3 使用模塊模式 78
3.3.1 創(chuàng)建任意模塊 78
3.3.2 創(chuàng)建立即執(zhí)行模塊 79
3.3.3 創(chuàng)建可靠的模塊 80
3.4 使用對(duì)象原型和原型繼承 80
3.4.1 默認(rèn)對(duì)象原型 80
3.4.2 原型繼承 81
3.4.3 原型鏈 82
3.5 使用new創(chuàng)建對(duì)象 83
3.6 使用類繼承 88
3.6.1 模擬類繼承 88
3.6.2 重復(fù)將殺死Kangaroo 89
3.7 使用函數(shù)式繼承 91
3.8 猴子補(bǔ)丁(Monkey-Patching) 92
3.9 小結(jié) 95
第Ⅱ部分 測(cè)試基于模式的代碼
第4章 瀏覽各種模式的優(yōu)點(diǎn) 99
4.1 案例分析 99
4.2 通過(guò)更廣泛的詞匯產(chǎn)生更加優(yōu)雅的代碼 100
4.3 使用擁有良好設(shè)計(jì)、良好測(cè)試的構(gòu)建塊產(chǎn)生可靠的代碼 101
4.4 小結(jié) 102
第5章 確?;卣{(diào)模式的正確使用 103
5.1 通過(guò)單元測(cè)試了解回調(diào)模式 104
5.1.1 編寫和測(cè)試使用了回調(diào)函數(shù)的代碼 104
5.1.2 編寫和測(cè)試回調(diào)函數(shù) 109
5.2 避免問(wèn)題 113
5.2.1 扁平化回調(diào)箭頭 113
5.2.2 注意this變量 115
5.3 小結(jié) 119
第6章 確保承諾模式的正確使用 121
6.1 通過(guò)單元測(cè)試了解承諾 122
6.1.1 使用承諾 122
6.1.2 構(gòu)造和返回承諾 127
6.1.3 測(cè)試XMLHttpRequest 130
6.2 串聯(lián)承諾 133
6.3 使用承諾封裝器 134
6.4 了解狀態(tài)和命運(yùn) 135
6.5 區(qū)分標(biāo)準(zhǔn)承諾和jQuery承諾 135
6.6 小結(jié) 136
第7章 確保正確使用散函數(shù)應(yīng)用程序 137
7.1 對(duì)散函數(shù)應(yīng)用程序進(jìn)行單元測(cè)試 137
7.2 為散函數(shù)應(yīng)用程序創(chuàng)建切面 139
7.3 區(qū)分散函數(shù)應(yīng)用程序和柯里化 140
7.3.1 柯里化 140
7.3.2 散函數(shù)應(yīng)用程序 141
7.4 小結(jié) 141
第8章 確保備忘錄模式的正確使用 143
8.1 通過(guò)單元測(cè)試了解備忘錄模式 144
8.2 使用AOP添加備忘錄 147
8.2.1 創(chuàng)建備忘錄切面 147
8.2.2 為restaurantApi應(yīng)用returnValueCache切面 150
8.3 小結(jié) 152
第9章 確保單例模式的正確實(shí)現(xiàn) 153
9.1 通過(guò)單元測(cè)試了解單例模式 154
9.1.1 使用對(duì)象字面量實(shí)現(xiàn)單例共享緩存 154
9.1.2 使用模塊實(shí)現(xiàn)單例共享緩存 158
9.2 小結(jié) 162
第10章 確保工廠模式的正確實(shí)現(xiàn) 163
10.1 為工廠編寫單元測(cè)試 163
10.2 實(shí)現(xiàn)工廠模式 169
10.3 考慮其他工廠類型 171
10.4 小結(jié) 171
第11章 確保沙箱模式的正確實(shí)現(xiàn)和使用 173
11.1 通過(guò)單元測(cè)試了解沙箱模式 173
11.1.1 創(chuàng)建部件沙箱 174
11.1.2 創(chuàng)建和測(cè)試沙箱工具 187
11.1.3 創(chuàng)建與沙箱一起使用的函數(shù) 191
11.2 小結(jié) 193
第12章 確保裝飾器模式的正確實(shí)現(xiàn) 195
12.1 使用測(cè)試驅(qū)動(dòng)的方式開(kāi)發(fā)裝飾器 196
12.1.1 為被裝飾的對(duì)象編寫一個(gè)假對(duì)象 197
12.1.2 為錯(cuò)誤的傳遞編寫測(cè)試 198
12.1.3 編寫空白裝飾器 199
12.1.4 添加傳遞功能到裝飾器 200
12.1.5 驗(yàn)證成功傳遞 202
12.1.6 添加裝飾器的特性 204
12.1.7 通用化裝飾器 210
12.2 小結(jié) 211
第13章 確保策略模式的正確實(shí)現(xiàn) 213
13.1 通過(guò)單元測(cè)試了解該模式 213
13.1.1 在不使用策略模式的情況下實(shí)現(xiàn)transportScheduler 214
13.1.2 使用策略模式實(shí)現(xiàn)transportScheduler 216
13.2 小結(jié) 227
第14章 確保代理模式的正確實(shí)現(xiàn) 229
14.1 通過(guò)測(cè)試驅(qū)動(dòng)的方式開(kāi)發(fā)代理 230
14.2 小結(jié) 245
第15章 確保正確實(shí)現(xiàn)可鏈接方法 247
15.1 通過(guò)單元測(cè)試了解該模式 248
15.2 鏈接then方法 255
15.3 小結(jié) 257
第Ⅲ部分 測(cè)試和編寫高級(jí)JavaScript特性
第16章 在無(wú)接口語(yǔ)言中遵守接口 261
16.1 了解接口的優(yōu)點(diǎn) 262
16.2 了解接口隔離原則 263
16.3 使用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)創(chuàng)建契約注冊(cè)表 265
16.3.1 定義契約 266
16.3.2 判斷是否履行了契約 267
16.3.3 斷言契約被履行了 271
16.3.4 繞過(guò)契約執(zhí)行 273
16.3.5 創(chuàng)建在被返回(創(chuàng)建)的對(duì)象上實(shí)施契約的切面 273
16.4 小結(jié) 277
第17章 確保正確的參數(shù)類型 279
17.1 了解JavaScript無(wú)類型參數(shù)帶來(lái)的機(jī)會(huì)和風(fēng)險(xiǎn) 280
17.2 擴(kuò)展ContractRegistry檢查參數(shù) 280
17.2.1 界定任務(wù)范圍 280
17.2.2 判斷集合中的所有變量是否都履行了它的契約 281
17.2.3 斷言集合中的所有變量都履行了它的契約 289
17.2.4 在切面中打包參數(shù)檢查功能 290
17.3 支持契約庫(kù) 292
17.4 綜合起來(lái) 293
17.4.1 創(chuàng)建契約模塊 293
17.4.2 創(chuàng)建應(yīng)用程序的ContractRegistry 296
17.4.3 為生產(chǎn)發(fā)布繞過(guò)契約 297
17.5 比較面向切面的解決方案和靜態(tài)解決方案 297
17.5.1 考慮TypeScript的優(yōu)點(diǎn) 297
17.5.2 考慮切面的優(yōu)點(diǎn) 297
17.6 小結(jié) 298
第18章 確保正確使用call、apply和bind 299
18.1 瀏覽this是如何綁定的 299
18.1.1 默認(rèn)綁定 300
18.1.2 隱式綁定 302
18.1.3 new綁定 303
18.1.4 顯式綁定 305
18.2 創(chuàng)建和測(cè)試使用call、apply和bind的代碼 305
18.2.1 使用call和apply 305
18.2.2 使用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)創(chuàng)建一個(gè)Array.prototype.forEach Polyfill 307
18.2.3 使用bind 316
18.3 小結(jié) 321
第19章 確保正確使用方法借用 323
19.1 確保借用對(duì)象符合需求 324
19.1.1 讓被借用的函數(shù)驗(yàn)證借用者的資格 324
19.1.2 向被借用的對(duì)象附加切面 326
19.1.3 使用borrow()方法 329
19.1.4 在ContractRegistry中添加對(duì)象驗(yàn)證器 330
19.2 預(yù)期借用者的副作用 331
19.2.1 考慮被隔離函數(shù)的副作用 331
19.2.2 考慮調(diào)用其他函數(shù)的函數(shù)的副作用 332
19.3 預(yù)期捐贈(zèng)者對(duì)象的副作用 338
19.4 小結(jié) 339
第20章 確保正確使用混合 341
20.1 創(chuàng)建和使用混合 343
20.1.1 創(chuàng)建和使用傳統(tǒng)混合 344
20.1.2 創(chuàng)建和使用函數(shù)式混合 361
20.2 小結(jié) 367
第21章 測(cè)試高級(jí)程序架構(gòu) 369
21.1 確保觀察者模式的可靠使用 369
21.1.1 檢查觀察者模式 370
21.1.2 增強(qiáng)觀察者模式的可靠性 376
21.2 確保中介者模式的可靠使用 380
21.2.1 了解中介者模式 381
21.2.2 增強(qiáng)基于中介者代碼的可靠性 382
21.3 小結(jié) 395
第Ⅳ部分 測(cè)試中的特殊主題
第22章 測(cè)試DOM訪問(wèn) 399
22.1 對(duì)UI進(jìn)行單元測(cè)試 399
22.1.1 檢查難于測(cè)試的UI代碼 400
22.1.2 使用TDD創(chuàng)建UI組件 401
22.2 使用分析器優(yōu)化代碼 411
22.2.1 檢測(cè)低效代碼 411
22.2.2 避免不成熟的優(yōu)化 418
22.3 小結(jié) 418
第23章 確保符合標(biāo)準(zhǔn) 419
23.1 使用ESLint 420
23.1.1 安裝ESLint 420
23.1.2 運(yùn)行ESLint 424
23.1.3 使用ESLint實(shí)施代碼標(biāo)準(zhǔn) 427
23.2 實(shí)施架構(gòu)分離 432
23.2.1 家庭秘密技術(shù) 433
23.2.2 銘記技術(shù) 435
23.2.3 不可能任務(wù)(Mission Impossible)技術(shù) 437
23.2.4 魔術(shù)棒(Magic Wand)
技術(shù) 441
23.2.5 不要使用調(diào)用棧技術(shù) 442
23.2.6 其他技術(shù) 442
23.2.7 其他架構(gòu) 442
23.3 小結(jié) 443
第Ⅴ部分 總結(jié)
第24章 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)原則的總結(jié) 447
24.1 回顧值得使用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的原因 447
24.2 練習(xí)測(cè)試驅(qū)動(dòng)開(kāi)發(fā) 448
24.3 編寫可單元測(cè)試的代碼 448
24.4 掌握測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的
技術(shù) 448
24.4.1 在編碼之前編寫測(cè)試 448
24.4.2 保持測(cè)試DRY 449
24.4.3 首先測(cè)試錯(cuò)誤條件 449
24.4.4 測(cè)試要先易后難 449
24.4.5 具體 449
24.4.6 只測(cè)試一件事情 450
24.4.7 測(cè)試數(shù)據(jù)如同測(cè)試一樣重要 450
24.4.8 高效地使用Jasmine 450
24.5 測(cè)試本書描述的模式 450
24.5.1 測(cè)試面向切面編程 450
24.5.2 測(cè)試對(duì)象構(gòu)造 451
24.5.3 測(cè)試回調(diào) 451
24.5.4 測(cè)試基于承諾的代碼 451
24.5.5 測(cè)試散函數(shù)應(yīng)用程序 451
24.5.6 測(cè)試備忘錄模式 452
24.5.7 測(cè)試單例模式 452
24.5.8 測(cè)試工廠模式 452
24.5.9 測(cè)試沙箱 452
24.5.10 測(cè)試裝飾器模式 453
24.5.11 測(cè)試策略模式 453
24.5.12 測(cè)試代理模式 453
24.5.13 測(cè)試可鏈接方法 453
24.5.14 測(cè)試接口一致性 453
24.5.15 測(cè)試call和apply的
使用 453
24.5.16 測(cè)試方法借用模式 454
24.5.17 測(cè)試混合 454
24.5.18 測(cè)試中介者和觀察者模式 454
24.5.19 測(cè)試DOM訪問(wèn) 454
24.5.20 實(shí)施架構(gòu)分離的測(cè)試 454
24.6 小結(jié) 455
第25章 本書JavaScript習(xí)語(yǔ)的總結(jié) 457
25.1 回顧對(duì)象 457
25.1.1 可以添加和刪除的對(duì)象屬性 457
25.1.2 可以將對(duì)象用作詞典 458
25.2 回顧變量 459
25.2.1 提升變量聲明 459
25.2.2 變量有函數(shù)作用域 460
25.3 回顧函數(shù) 463
25.3.1 函數(shù)是對(duì)象 463
25.3.2 提升函數(shù)聲明 463
25.3.3 函數(shù)沒(méi)有返回類型 464
25.3.4 函數(shù)可以是匿名的 465
25.3.5 函數(shù)可以被嵌套 465
25.3.6 函數(shù)調(diào)用可以使用任意數(shù)量的參數(shù) 466
25.3.7 函數(shù)可以立即被調(diào)用 467
25.4 回顧布爾操作 468
25.4.1 在測(cè)試相等性時(shí)類型可能會(huì)被強(qiáng)制轉(zhuǎn)換 468
25.4.2 值可以是真或假 469
25.5 小結(jié) 469

載地址

下載錯(cuò)誤?【投訴報(bào)錯(cuò)】

編寫可靠的JavaScript代碼:測(cè)試驅(qū)動(dòng)開(kāi)發(fā)JavaScript商業(yè)軟件

      氣書籍

      載聲明

      ☉ 解壓密碼:chabaoo.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
      ☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
      ☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
      ☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過(guò)一段時(shí)間重試!或者多試試幾個(gè)下載地址
      ☉ 如果遇到什么問(wèn)題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問(wèn)題,謝謝大家支持!
      ☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購(gòu)買正版。
      ☉ 本站提供的編寫可靠的JavaScript代碼:測(cè)試驅(qū)動(dòng)開(kāi)發(fā)JavaScript商業(yè)軟件資源來(lái)源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。