架構(gòu)師
其他
單元測(cè)試
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

測(cè)試驅(qū)動(dòng)開(kāi)發(fā)訓(xùn)練營(yíng)

Bruce Zhang

前ThoughtWorks 架構(gòu)師、敏捷教練

先后就職于中興通訊、惠普 GDCC、中軟國(guó)際、ThoughtWorks 等?大型中外企
業(yè),任職?角?色為?高級(jí)軟件?工程師,架構(gòu)師,技術(shù)總監(jiān),?首席咨詢師。現(xiàn)為深圳?
大眼科技有限公司的?首席架構(gòu)師,聯(lián)合創(chuàng)始?人。精通包括 C#、Java、Ruby、Scala、
Python、JavaScript 等多種語(yǔ)?言,熟練掌握?面向?qū)ο笏枷?、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)、函數(shù)式語(yǔ)
?言、架構(gòu)、?大數(shù)據(jù)分析、敏捷與過(guò)程改進(jìn),并致?力于?大型軟件企業(yè)的?面向服務(wù)系
統(tǒng)架構(gòu)設(shè)計(jì)以及互聯(lián)網(wǎng) Web 系統(tǒng)架構(gòu)設(shè)計(jì)。在 ThoughtWorks 期間,作為?一名咨詢師,
主要為客戶提供組織的敏捷轉(zhuǎn)型、過(guò)程改進(jìn)、系統(tǒng)架構(gòu)監(jiān)理、領(lǐng)域設(shè)計(jì)、代碼質(zhì)量提升等咨
詢?工作。目前,作為公司產(chǎn)品的架構(gòu)師,致力于商業(yè)智能產(chǎn)品與?大數(shù)據(jù)分析平臺(tái)的開(kāi)發(fā)
與架構(gòu)設(shè)計(jì)

著譯作包括《解構(gòu)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》、《軟件設(shè)計(jì)精要與模式》、《架構(gòu)寶典》、《高可用可伸縮微服務(wù)架構(gòu)》、《Java設(shè)計(jì)模式》、《恰如其分的軟件架構(gòu)》、《WCF服務(wù)編程》、《人件》、《重構(gòu)——改善既有代碼設(shè)計(jì)》評(píng)注版、《架構(gòu)之美》評(píng)注版。

作為主持?人或講師多次被應(yīng)邀參加如中國(guó)軟件?大會(huì)、QCon、MPD 大會(huì)、
Agile China、Scrum Gathering 等?大型會(huì)議,并作為培訓(xùn)講師曾先后為摩托羅拉、惠普、
花旗銀?行、攜程、TCL、中興通訊、賽 門(mén)鐵克,廣發(fā)證券、平安銀?行等企業(yè)培訓(xùn)架構(gòu)、
設(shè)計(jì)、DDD、敏捷等專(zhuān)題內(nèi)容。著譯作包括《軟件設(shè)計(jì)精要與模式》、《Java 設(shè)計(jì)模式》、《恰如其分的軟件架構(gòu)》、《WCF 服務(wù)編程》、《?人件》等。目前,正在撰寫(xiě)《架構(gòu)之
美(Beatiful Architecture)》評(píng)注版,即將出版。

先后就職于中興通訊、惠普 GDCC、中軟國(guó)際、ThoughtWorks 等?大型中外企 業(yè),任職?角?色為?高級(jí)軟件?工程師,架構(gòu)師,技術(shù)總監(jiān),?首席咨詢師?,F(xiàn)為深圳? 大眼科技有限公司的?首席架構(gòu)師,聯(lián)合創(chuàng)始?人。精通包括 C#、Java、Ruby、Scala、 Python、JavaScript 等多種語(yǔ)?言,熟練掌握?面向?qū)ο笏枷搿㈩I(lǐng)域驅(qū)動(dòng)設(shè)計(jì)、函數(shù)式語(yǔ) ?言、架構(gòu)、?大數(shù)據(jù)分析、敏捷與過(guò)程改進(jìn),并致?力于?大型軟件企業(yè)的?面向服務(wù)系 統(tǒng)架構(gòu)設(shè)計(jì)以及互聯(lián)網(wǎng) Web 系統(tǒng)架構(gòu)設(shè)計(jì)。在 ThoughtWorks 期間,作為?一名咨詢師, 主要為客戶提供組織的敏捷轉(zhuǎn)型、過(guò)程改進(jìn)、系統(tǒng)架構(gòu)監(jiān)理、領(lǐng)域設(shè)計(jì)、代碼質(zhì)量提升等咨 詢?工作。目前,作為公司產(chǎn)品的架構(gòu)師,致力于商業(yè)智能產(chǎn)品與?大數(shù)據(jù)分析平臺(tái)的開(kāi)發(fā) 與架構(gòu)設(shè)計(jì) 著譯作包括《解構(gòu)領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》、《軟件設(shè)計(jì)精要與模式》、《架構(gòu)寶典》、《高可用可伸縮微服務(wù)架構(gòu)》、《Java設(shè)計(jì)模式》、《恰如其分的軟件架構(gòu)》、《WCF服務(wù)編程》、《人件》、《重構(gòu)——改善既有代碼設(shè)計(jì)》評(píng)注版、《架構(gòu)之美》評(píng)注版。 作為主持?人或講師多次被應(yīng)邀參加如中國(guó)軟件?大會(huì)、QCon、MPD 大會(huì)、 Agile China、Scrum Gathering 等?大型會(huì)議,并作為培訓(xùn)講師曾先后為摩托羅拉、惠普、 花旗銀?行、攜程、TCL、中興通訊、賽 門(mén)鐵克,廣發(fā)證券、平安銀?行等企業(yè)培訓(xùn)架構(gòu)、 設(shè)計(jì)、DDD、敏捷等專(zhuān)題內(nèi)容。著譯作包括《軟件設(shè)計(jì)精要與模式》、《Java 設(shè)計(jì)模式》、《恰如其分的軟件架構(gòu)》、《WCF 服務(wù)編程》、《?人件》等。目前,正在撰寫(xiě)《架構(gòu)之 美(Beatiful Architecture)》評(píng)注版,即將出版。

課程費(fèi)用

3700.00 /人

課程時(shí)長(zhǎng)

2

成為教練

課程簡(jiǎn)介

測(cè)試驅(qū)動(dòng)開(kāi)發(fā)訓(xùn)練營(yíng)以理論講解結(jié)合案例演練,全方位梳理測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的流程,幫助學(xué)員掌握整潔編碼、單元測(cè)試與重構(gòu)的技巧,從而使得學(xué)員能夠在實(shí)際項(xiàng)目開(kāi)發(fā)中合理運(yùn)用測(cè)試驅(qū)動(dòng)開(kāi)發(fā),提高編碼質(zhì)量,打造高效的開(kāi)發(fā)團(tuán)隊(duì),并在企業(yè)中有效推進(jìn)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)實(shí)踐。

目標(biāo)收益

培訓(xùn)對(duì)象

課程大綱

第一關(guān) 測(cè)試加油站 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的基礎(chǔ)是正確地運(yùn)用框架編寫(xiě)單元測(cè)試。要了解什么是單元測(cè)試,編寫(xiě)單元測(cè)試的價(jià)值,并能熟練運(yùn)用單元測(cè)試框架。JUnit框架。
?如何創(chuàng)建測(cè)試方法
?如何運(yùn)用Rule測(cè)試異常
?如何運(yùn)用Parameterized Data
Mockito
?何時(shí)需要進(jìn)行Mock
?Mock查詢式方法
?Mock命令式方法
?Mock異常拋出
?驗(yàn)證對(duì)象的協(xié)作
測(cè)試數(shù)據(jù)準(zhǔn)備
?各種格式的測(cè)試數(shù)據(jù)
?模板的使用
?測(cè)試數(shù)據(jù)準(zhǔn)備的輔助方法
第二關(guān) 對(duì)象健身操 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的驅(qū)動(dòng)力在于任務(wù)分解和測(cè)試先行,但如果不具備足夠的面向?qū)ο笤O(shè)計(jì)能力,就會(huì)影響到對(duì)職責(zé)的判斷,無(wú)法做到有效而合理的對(duì)象協(xié)作,也無(wú)法判斷該在何時(shí)對(duì)功能進(jìn)行抽象。
OO的核心要素
?理解封裝的意義
?高內(nèi)聚松耦合
?繼承與委派
?抽象與多態(tài)
SOLID原則
?單一職責(zé)原則
?開(kāi)放封閉原則
?Liskov替換原則
?接口隔離原則
?依賴(lài)倒置原則
第三關(guān) 重構(gòu)工具箱 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的節(jié)奏是“紅-綠-重構(gòu)”,沒(méi)有重構(gòu),測(cè)試驅(qū)動(dòng)開(kāi)發(fā)就無(wú)法保證代碼質(zhì)量,如果不及時(shí)發(fā)現(xiàn)代碼的壞味道,就會(huì)導(dǎo)致“破窗效應(yīng)”,直到代碼腐化至難以重構(gòu)的地步,測(cè)試驅(qū)動(dòng)開(kāi)發(fā)帶來(lái)的紅利就被抵消殆盡了。
代碼的壞味道
?Long Method
?Feature Envy
?Switch Statement
?迪米特法則
重構(gòu)手法運(yùn)用
?Rename Method
?Extract Method
?Move Method
?Extract Class
?Push Member Down
演練
演練案例:Movie Store
第四關(guān) TDD修煉
在具備了單元測(cè)試、面向?qū)ο笤O(shè)計(jì)與重構(gòu)知識(shí)之后,就可以開(kāi)始TDD的訓(xùn)練了。TDD的工作主要分為任務(wù)分解與測(cè)試驅(qū)動(dòng),開(kāi)發(fā)人員需要進(jìn)行實(shí)戰(zhàn)演練才能真正體會(huì)TDD的好處。本部分將通過(guò)一個(gè)完整的案例進(jìn)行實(shí)操訓(xùn)練。
TDD知識(shí)
?TDD核心
?TDD三大定律
?FIRST原則
TDD Kata
實(shí)戰(zhàn)案例:Guess Number
?任務(wù)分解
?開(kāi)始第一個(gè)任務(wù)
?Specification By Example
?測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的驅(qū)動(dòng)力
?Given-When-Then模式
?CQS原則
?信息專(zhuān)家模式
?命名規(guī)則
?單一職責(zé)原則
?開(kāi)始第二個(gè)任務(wù)
?開(kāi)始第三個(gè)任務(wù)
?開(kāi)始第四個(gè)任務(wù)
?測(cè)試驅(qū)動(dòng)開(kāi)發(fā)需要事先設(shè)計(jì)嗎?
?尋找職責(zé)的承擔(dān)者
?開(kāi)始第五個(gè)任務(wù)
?運(yùn)用依賴(lài)注入框架
第五關(guān) 重構(gòu)到模式 通過(guò)識(shí)別代碼的壞味道,然后利用重構(gòu)手法改進(jìn)代碼,逐步形成設(shè)計(jì)模式,可以有效地避免過(guò)度設(shè)計(jì),保證編碼實(shí)現(xiàn)的恰如其分。
常用設(shè)計(jì)模式
?工廠模式
?裝飾器模式
?適配器模式
?模板方法模式
?策略模式
?訪問(wèn)者模式
?職責(zé)鏈模式
重構(gòu)到模式實(shí)踐
?重構(gòu)到策略模式
?重構(gòu)到模板方法模式
?重構(gòu)到裝飾器模式
?重構(gòu)到職責(zé)鏈模式
?重構(gòu)到MVC模式
?重構(gòu)到訪問(wèn)者模式
?重構(gòu)到適配器模式
第一關(guān) 測(cè)試加油站
測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的基礎(chǔ)是正確地運(yùn)用框架編寫(xiě)單元測(cè)試。要了解什么是單元測(cè)試,編寫(xiě)單元測(cè)試的價(jià)值,并能熟練運(yùn)用單元測(cè)試框架。JUnit框架。
?如何創(chuàng)建測(cè)試方法
?如何運(yùn)用Rule測(cè)試異常
?如何運(yùn)用Parameterized Data
Mockito
?何時(shí)需要進(jìn)行Mock
?Mock查詢式方法
?Mock命令式方法
?Mock異常拋出
?驗(yàn)證對(duì)象的協(xié)作
測(cè)試數(shù)據(jù)準(zhǔn)備
?各種格式的測(cè)試數(shù)據(jù)
?模板的使用
?測(cè)試數(shù)據(jù)準(zhǔn)備的輔助方法
第二關(guān) 對(duì)象健身操
測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的驅(qū)動(dòng)力在于任務(wù)分解和測(cè)試先行,但如果不具備足夠的面向?qū)ο笤O(shè)計(jì)能力,就會(huì)影響到對(duì)職責(zé)的判斷,無(wú)法做到有效而合理的對(duì)象協(xié)作,也無(wú)法判斷該在何時(shí)對(duì)功能進(jìn)行抽象。
OO的核心要素
?理解封裝的意義
?高內(nèi)聚松耦合
?繼承與委派
?抽象與多態(tài)
SOLID原則
?單一職責(zé)原則
?開(kāi)放封閉原則
?Liskov替換原則
?接口隔離原則
?依賴(lài)倒置原則
第三關(guān) 重構(gòu)工具箱
測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的節(jié)奏是“紅-綠-重構(gòu)”,沒(méi)有重構(gòu),測(cè)試驅(qū)動(dòng)開(kāi)發(fā)就無(wú)法保證代碼質(zhì)量,如果不及時(shí)發(fā)現(xiàn)代碼的壞味道,就會(huì)導(dǎo)致“破窗效應(yīng)”,直到代碼腐化至難以重構(gòu)的地步,測(cè)試驅(qū)動(dòng)開(kāi)發(fā)帶來(lái)的紅利就被抵消殆盡了。
代碼的壞味道
?Long Method
?Feature Envy
?Switch Statement
?迪米特法則
重構(gòu)手法運(yùn)用
?Rename Method
?Extract Method
?Move Method
?Extract Class
?Push Member Down
演練
演練案例:Movie Store
第四關(guān) TDD修煉
在具備了單元測(cè)試、面向?qū)ο笤O(shè)計(jì)與重構(gòu)知識(shí)之后,就可以開(kāi)始TDD的訓(xùn)練了。TDD的工作主要分為任務(wù)分解與測(cè)試驅(qū)動(dòng),開(kāi)發(fā)人員需要進(jìn)行實(shí)戰(zhàn)演練才能真正體會(huì)TDD的好處。本部分將通過(guò)一個(gè)完整的案例進(jìn)行實(shí)操訓(xùn)練。
TDD知識(shí)
?TDD核心
?TDD三大定律
?FIRST原則
TDD Kata
實(shí)戰(zhàn)案例:Guess Number
?任務(wù)分解
?開(kāi)始第一個(gè)任務(wù)
?Specification By Example
?測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的驅(qū)動(dòng)力
?Given-When-Then模式
?CQS原則
?信息專(zhuān)家模式
?命名規(guī)則
?單一職責(zé)原則
?開(kāi)始第二個(gè)任務(wù)
?開(kāi)始第三個(gè)任務(wù)
?開(kāi)始第四個(gè)任務(wù)
?測(cè)試驅(qū)動(dòng)開(kāi)發(fā)需要事先設(shè)計(jì)嗎?
?尋找職責(zé)的承擔(dān)者
?開(kāi)始第五個(gè)任務(wù)
?運(yùn)用依賴(lài)注入框架
第五關(guān) 重構(gòu)到模式
通過(guò)識(shí)別代碼的壞味道,然后利用重構(gòu)手法改進(jìn)代碼,逐步形成設(shè)計(jì)模式,可以有效地避免過(guò)度設(shè)計(jì),保證編碼實(shí)現(xiàn)的恰如其分。
常用設(shè)計(jì)模式
?工廠模式
?裝飾器模式
?適配器模式
?模板方法模式
?策略模式
?訪問(wèn)者模式
?職責(zé)鏈模式
重構(gòu)到模式實(shí)踐
?重構(gòu)到策略模式
?重構(gòu)到模板方法模式
?重構(gòu)到裝飾器模式
?重構(gòu)到職責(zé)鏈模式
?重構(gòu)到MVC模式
?重構(gòu)到訪問(wèn)者模式
?重構(gòu)到適配器模式

活動(dòng)詳情

提交需求