測(cè)試驅(qū)動(dòng):開(kāi)發(fā)入門(mén)、實(shí)戰(zhàn)與進(jìn)階
愛(ài)飛翔 譯
出版時(shí)間:2023年03月
頁(yè)數(shù):246
“這是一本實(shí)用且有趣的TDD實(shí)踐教程。如果你想開(kāi)始做測(cè)試驅(qū)動(dòng)開(kāi)發(fā),或者想了解這項(xiàng)軟件開(kāi)發(fā)者所應(yīng)掌握的重要技術(shù),那就立即閱讀這本書(shū)吧!”
——Ham Vocke
Stack Overflow的軟件開(kāi)發(fā)者
開(kāi)發(fā)者的水平需要靠代碼來(lái)證明。無(wú)論你用的是哪種編程語(yǔ)言,都應(yīng)該寫(xiě)出干凈、優(yōu)雅且整齊的代碼。測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)可以幫助你寫(xiě)出這種既易懂又漂亮的代碼,這樣的代碼能夠在以后的幾個(gè)月乃至幾年中穩(wěn)定運(yùn)行。在這本開(kāi)發(fā)者必備的教程中,你能夠?qū)W到如何用Go、JavaScript以及Python這三種語(yǔ)言來(lái)做測(cè)試驅(qū)動(dòng)開(kāi)發(fā)。
Saleem Siddiqui在書(shū)中會(huì)告訴你如何用單元測(cè)試引領(lǐng)開(kāi)發(fā)工作,以解決業(yè)務(wù)領(lǐng)域中的復(fù)雜問(wèn)題。這種測(cè)試驅(qū)動(dòng)的編程方式會(huì)把需求劃分成多個(gè)比較小的功能,并分別予以實(shí)現(xiàn)。無(wú)論使用哪種編程語(yǔ)言與編程框架,你都可以把本書(shū)中的知識(shí)運(yùn)用到日常的編程工作中。
通過(guò)本書(shū),你將學(xué)到:
● 如何用TDD把業(yè)務(wù)領(lǐng)域中的復(fù)雜問(wèn)題劃分成多個(gè)小功能,并分別予以實(shí)現(xiàn)。
● 如何在各類(lèi)編程語(yǔ)言中用各種測(cè)試框架來(lái)做TDD,以實(shí)現(xiàn)業(yè)務(wù)領(lǐng)域中的概念。
● 如何通過(guò)TDD推進(jìn)持續(xù)集成(CI)。
● 如何通過(guò)TDD做重構(gòu)與重新設(shè)計(jì)。
● 如何用JavaScript編寫(xiě)一套簡(jiǎn)單而有效的測(cè)試用具,以便自動(dòng)識(shí)別并運(yùn)行單元測(cè)試。
● 如何配置一套持續(xù)集成環(huán)境,以自動(dòng)測(cè)試在做TDD的過(guò)程中所寫(xiě)的單元測(cè)試。
● 如何以TDD的方式寫(xiě)出清晰而整齊的Go、JavaScript及Python代碼。
- 第0章 簡(jiǎn)述如何配置開(kāi)發(fā)環(huán)境
- 0.1 配置開(kāi)發(fā)環(huán)境
- 0.2 小結(jié)
- 第一部分 入門(mén)
- 第1章 我們要解決的問(wèn)題:Money
- 1.1 TDD 的基本流程:紅-綠-重構(gòu)循環(huán)
- 1.2 我們要解決的是什么問(wèn)題
- 1.3 第一個(gè)失敗的測(cè)試
- 1.4 讓測(cè)試通過(guò)
- 1.5 清理代碼
- 1.6 提交變更
- 1.7 小結(jié)
- 第2章 通過(guò)Money實(shí)體支持多種貨幣
- 2.1 開(kāi)始支持歐元
- 2.2 讓代碼遵循DRY原則
- 2.3 剛才不是說(shuō)要遵循DRY原則嗎?現(xiàn)在為什么要保留兩個(gè)相似的測(cè)試
- 2.4 分而治之(實(shí)現(xiàn)除法)
- 2.5 清理代碼
- 2.6 提交變更
- 2.7 小結(jié)
- 第3章 通過(guò)Portfolio實(shí)體支持投資組合
- 3.1 設(shè)計(jì)下一個(gè)測(cè)試
- 3.2 提交變更
- 3.3 小結(jié)
- 第二部分 模塊化
- 第4章 關(guān)注點(diǎn)分離
- 4.1 測(cè)試代碼與產(chǎn)品代碼
- 4.2 模塊化
- 4.3 去除冗余(消除重復(fù))
- 4.4 小結(jié)
- 第5章 Go語(yǔ)言的包與模塊
- 5.1 把代碼分割到不同的包中
- 5.2 Go語(yǔ)言的模塊
- 5.3 創(chuàng)建新包
- 5.4 封裝
- 5.5 消除測(cè)試中的重復(fù)
- 5.6 提交變更
- 5.7 小結(jié)
- 第6章 JavaScript的模塊
- 6.1 把代碼劃分成多個(gè)模塊
- 6.2 認(rèn)識(shí)JavaScript模塊
- 6.3 改進(jìn)測(cè)試
- 6.4 提交變更
- 6.5 小結(jié)
- 第7章 Python的模塊
- 7.1 把代碼劃分成多個(gè)模塊
- 7.2 消除測(cè)試中的重復(fù)
- 7.3 提交變更
- 7.4 小結(jié)
- 第三部分 功能與重新設(shè)計(jì)
- 第8章 求Portfolio的值
- 8.1 處理幣種不同的Money
- 8.2 提交變更
- 8.3 小結(jié)
- 第9章 這種錢(qián),那種錢(qián)
- 9.1 制作映射表以便查詢(xún)匯率
- 9.2 提交變更
- 9.3 小結(jié)
- 第10章 錯(cuò)誤處理
- 10.1 我們想把錯(cuò)誤處理機(jī)制實(shí)現(xiàn)成什么樣子
- 10.2 提交變更
- 10.3 小結(jié)
- 第11章 通過(guò)Bank實(shí)體重新設(shè)計(jì)
- 11.1 依賴(lài)注入
- 11.2 把所有實(shí)體匯聚起來(lái)
- 11.3 提交變更
- 11.4 小結(jié)
- 第四部分 收尾
- 第12章 掌握測(cè)試順序
- 12.1 修改匯率
- 12.2 提交變更
- 12.3 小結(jié)
- 第13章 持續(xù)集成
- 13.1 核心概念
- 13.2 把實(shí)現(xiàn)持續(xù)集成所需的步驟串起來(lái)
- 13.3 提交變更
- 13.4 小結(jié)
- 第14章 回顧
- 14.1 代碼是否具備良好的形象
- 14.2 代碼是否確切地實(shí)現(xiàn)了目標(biāo)
- 14.3 在編寫(xiě)代碼的過(guò)程中有沒(méi)有其他路可走
- 14.4 從三個(gè)維度分析代碼
- 14.5 TDD 過(guò)時(shí)了嗎
- 14.6 全書(shū)總結(jié)
- 附錄 A 配置開(kāi)發(fā)環(huán)境
- 附錄B 三種語(yǔ)言簡(jiǎn)史
- 附錄C 致謝
書(shū)名:測(cè)試驅(qū)動(dòng):開(kāi)發(fā)入門(mén)、實(shí)戰(zhàn)與進(jìn)階
譯者:愛(ài)飛翔 譯
國(guó)內(nèi)出版社:機(jī)械工業(yè)出版社
出版時(shí)間:2023年03月
頁(yè)數(shù):246
書(shū)號(hào):978-7-111-72423-0
原版書(shū)書(shū)名:Learning Test-Driven Development
原版書(shū)出版商:O'Reilly Media
Saleem Siddiqui
Saleem Siddiqui是一位軟件開(kāi)發(fā)者,他也參與培訓(xùn)、演講和寫(xiě)作。他具有豐富的技術(shù)開(kāi)發(fā)經(jīng)驗(yàn),在大大小小的團(tuán)隊(duì)中開(kāi)發(fā)過(guò)醫(yī)療、零售、政務(wù)、財(cái)務(wù)以及制藥等方面的軟件。Saleem將在本書(shū)中分享自己過(guò)去的經(jīng)驗(yàn)與教訓(xùn),幫助大家避開(kāi)他以前編寫(xiě)軟件時(shí)犯的錯(cuò)誤。