開(kāi)發(fā)經(jīng)理
互聯(lián)網(wǎng)
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

編碼修行與Code KATA

Bruce Zhang

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

先后就職于中興通訊、惠普 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ū)ο笏枷?、領(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、中興通訊、賽 門鐵克,廣發(fā)證券、平安銀?行等企業(yè)培訓(xùn)架構(gòu)、
設(shè)計(jì)、DDD、敏捷等專題內(nèi)容。著譯作包括《軟件設(shè)計(jì)精要與模式》、《Java 設(shè)計(jì)模式》、《恰如其分的軟件架構(gòu)》、《WCF 服務(wù)編程》、《?人件》等。目前,正在撰寫《架構(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、中興通訊、賽 門鐵克,廣發(fā)證券、平安銀?行等企業(yè)培訓(xùn)架構(gòu)、 設(shè)計(jì)、DDD、敏捷等專題內(nèi)容。著譯作包括《軟件設(shè)計(jì)精要與模式》、《Java 設(shè)計(jì)模式》、《恰如其分的軟件架構(gòu)》、《WCF 服務(wù)編程》、《?人件》等。目前,正在撰寫《架構(gòu)之 美(Beatiful Architecture)》評(píng)注版,即將出版。

課程費(fèi)用

6800.00 /人

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

2

成為教練

課程簡(jiǎn)介

就像修煉武學(xué)一般,編碼的技能同樣需要修行,只有掌握更多編碼技能與設(shè)計(jì)技能的程序員才能在程序世界走得更遠(yuǎn),攀得更高。掌握必備的設(shè)計(jì)技能,就好像是武者修行的洗髓煉氣,決定了未來(lái)內(nèi)力的強(qiáng)大;扎實(shí)的編碼功底,則是修煉外功,打磨的是筋骨皮;至于開(kāi)發(fā)工具、測(cè)試驅(qū)動(dòng)、重構(gòu)等諸多技能,則是編碼武者掌握的招式,若能熟練掌握,就能一擊制敵,讓那些糟糕代碼無(wú)容身之地。
故而,程序員能力的提升,就是編碼武者的修行。

目標(biāo)收益

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

課程大綱

洗髓篇
設(shè)計(jì)心法
縱觀軟件開(kāi)發(fā)的歷史,其間經(jīng)歷了過(guò)程式設(shè)計(jì)、面向?qū)ο笤O(shè)計(jì)(函數(shù)式編程)、面向組件設(shè)計(jì)、面向服務(wù)設(shè)計(jì),然而無(wú)論是以什么內(nèi)容作為驅(qū)動(dòng)設(shè)計(jì)的要素,都離不開(kāi)設(shè)計(jì)的本原——“高內(nèi)聚松耦合”。
這六字真言道盡了軟件設(shè)計(jì)的終極目標(biāo):我們希望設(shè)計(jì)出來(lái)的實(shí)體(函數(shù)、類、模塊、子系統(tǒng))可以重用,支持?jǐn)U展,如此才能提高編碼效率、減少系統(tǒng)缺陷,同時(shí)還能面對(duì)需求的變化。
高內(nèi)聚,意味著程序的職責(zé)分配合理,不會(huì)將相關(guān)的邏輯分散到各處,且又定義了合理的邊界,只暴露需要進(jìn)行協(xié)作的接口;于是又引入了松耦合,使得實(shí)體之間明斷實(shí)連,相依而不相存,可以獨(dú)立變化,卻又相互協(xié)作。
在本章,我將從多個(gè)角度來(lái)闡釋、剖析這六字真言:
高內(nèi)聚松耦合
設(shè)計(jì)的起點(diǎn)
重復(fù)謎題
對(duì)象的合理封裝
自治對(duì)象
1、高內(nèi)聚松耦合
內(nèi)聚性
耦合性
2、對(duì)象的合理封裝
案例分析:報(bào)表系統(tǒng)之參數(shù)處理
3、繼承與委派的區(qū)別
案例分析:兩種分離方案的對(duì)比
4、多態(tài)與抽象設(shè)計(jì)的起點(diǎn)
5、重復(fù)謎題
5.1業(yè)務(wù)邏輯的重復(fù)
案例分析:日志系統(tǒng)的組合子設(shè)計(jì)
案例分析:業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)訪問(wèn)與事務(wù)處理,采用兩種不同方式對(duì)其進(jìn)行重構(gòu),重構(gòu)的結(jié)果是一個(gè)初步簡(jiǎn)略的框架。
5.2程序結(jié)構(gòu)的重復(fù)
案例分析:對(duì)集合的操作,運(yùn)用函數(shù)式編程思想消除重復(fù)。
易筋篇
整潔之道
武功修行,內(nèi)外兼修才是王道。軟件設(shè)計(jì)同樣如此,不能只煉心法(設(shè)計(jì)),而缺少對(duì)身體(代碼)的錘煉。二者(設(shè)計(jì)與代碼)并非完全割裂的關(guān)系,而是相輔相成,甚至內(nèi)外相通的關(guān)系。好的設(shè)計(jì)可以在一定程度上保證好的編碼,而把握好整潔代碼的特征,培養(yǎng)編碼的Sense,則有助于改進(jìn)設(shè)計(jì)的質(zhì)量。
那么什么才是整潔代碼呢?本章會(huì)對(duì)此展開(kāi)探討,以期端正編碼者的態(tài)度,培養(yǎng)良好編碼習(xí)慣,打磨編碼技能。
簡(jiǎn)單設(shè)計(jì)
Kent Beck提出了“簡(jiǎn)單設(shè)計(jì)的概念”,內(nèi)容為:
通過(guò)所有測(cè)試(Passes its tests)
盡可能消除重復(fù) (Minimizes duplication)
盡可能清晰表達(dá) (Maximizes clarity)
更少代碼元素 (Has fewer elements)
以上四個(gè)原則的重要程度依次降低。
案例:結(jié)合簡(jiǎn)單設(shè)計(jì)理解郵件轉(zhuǎn)發(fā)器的設(shè)計(jì)
負(fù)重修行 外功修煉就是要負(fù)重而行。在這條修行道路上,我們需要突破如下內(nèi)容的桎梏:
名:提高可讀性的一方面
形:提高可讀性的一方面
函數(shù):構(gòu)成程序的最重要元素

1、可讀性:命名\表達(dá)式\合理的分段\DSL
案例分析:若干代碼片段,多數(shù)來(lái)自于真實(shí)項(xiàng)目的丑陋代碼,演示如何提高這些代碼的可讀性,使得代碼結(jié)構(gòu)更加清晰。
2、整潔的函數(shù)
案例分析:Fitness代碼分析
3、異常處理
案例分析:版本升級(jí)管理系統(tǒng)的異常處理
4、重構(gòu)
案例實(shí)踐:
影片租賃系統(tǒng)
分布式系統(tǒng)消息處理的測(cè)試
JBehave測(cè)試用例
綜合思考 如何制定重構(gòu)策略
Code Review 案例:我在客戶處做的代碼診所
洗髓篇
設(shè)計(jì)心法
縱觀軟件開(kāi)發(fā)的歷史,其間經(jīng)歷了過(guò)程式設(shè)計(jì)、面向?qū)ο笤O(shè)計(jì)(函數(shù)式編程)、面向組件設(shè)計(jì)、面向服務(wù)設(shè)計(jì),然而無(wú)論是以什么內(nèi)容作為驅(qū)動(dòng)設(shè)計(jì)的要素,都離不開(kāi)設(shè)計(jì)的本原——“高內(nèi)聚松耦合”。
這六字真言道盡了軟件設(shè)計(jì)的終極目標(biāo):我們希望設(shè)計(jì)出來(lái)的實(shí)體(函數(shù)、類、模塊、子系統(tǒng))可以重用,支持?jǐn)U展,如此才能提高編碼效率、減少系統(tǒng)缺陷,同時(shí)還能面對(duì)需求的變化。
高內(nèi)聚,意味著程序的職責(zé)分配合理,不會(huì)將相關(guān)的邏輯分散到各處,且又定義了合理的邊界,只暴露需要進(jìn)行協(xié)作的接口;于是又引入了松耦合,使得實(shí)體之間明斷實(shí)連,相依而不相存,可以獨(dú)立變化,卻又相互協(xié)作。
在本章,我將從多個(gè)角度來(lái)闡釋、剖析這六字真言:
高內(nèi)聚松耦合
設(shè)計(jì)的起點(diǎn)
重復(fù)謎題
對(duì)象的合理封裝
自治對(duì)象
1、高內(nèi)聚松耦合
內(nèi)聚性
耦合性
2、對(duì)象的合理封裝
案例分析:報(bào)表系統(tǒng)之參數(shù)處理
3、繼承與委派的區(qū)別
案例分析:兩種分離方案的對(duì)比
4、多態(tài)與抽象設(shè)計(jì)的起點(diǎn)
5、重復(fù)謎題
5.1業(yè)務(wù)邏輯的重復(fù)
案例分析:日志系統(tǒng)的組合子設(shè)計(jì)
案例分析:業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)訪問(wèn)與事務(wù)處理,采用兩種不同方式對(duì)其進(jìn)行重構(gòu),重構(gòu)的結(jié)果是一個(gè)初步簡(jiǎn)略的框架。
5.2程序結(jié)構(gòu)的重復(fù)
案例分析:對(duì)集合的操作,運(yùn)用函數(shù)式編程思想消除重復(fù)。
易筋篇
整潔之道

武功修行,內(nèi)外兼修才是王道。軟件設(shè)計(jì)同樣如此,不能只煉心法(設(shè)計(jì)),而缺少對(duì)身體(代碼)的錘煉。二者(設(shè)計(jì)與代碼)并非完全割裂的關(guān)系,而是相輔相成,甚至內(nèi)外相通的關(guān)系。好的設(shè)計(jì)可以在一定程度上保證好的編碼,而把握好整潔代碼的特征,培養(yǎng)編碼的Sense,則有助于改進(jìn)設(shè)計(jì)的質(zhì)量。
那么什么才是整潔代碼呢?本章會(huì)對(duì)此展開(kāi)探討,以期端正編碼者的態(tài)度,培養(yǎng)良好編碼習(xí)慣,打磨編碼技能。
簡(jiǎn)單設(shè)計(jì)
Kent Beck提出了“簡(jiǎn)單設(shè)計(jì)的概念”,內(nèi)容為:
通過(guò)所有測(cè)試(Passes its tests)
盡可能消除重復(fù) (Minimizes duplication)
盡可能清晰表達(dá) (Maximizes clarity)
更少代碼元素 (Has fewer elements)
以上四個(gè)原則的重要程度依次降低。
案例:結(jié)合簡(jiǎn)單設(shè)計(jì)理解郵件轉(zhuǎn)發(fā)器的設(shè)計(jì)
負(fù)重修行
外功修煉就是要負(fù)重而行。在這條修行道路上,我們需要突破如下內(nèi)容的桎梏:
名:提高可讀性的一方面
形:提高可讀性的一方面
函數(shù):構(gòu)成程序的最重要元素

1、可讀性:命名\表達(dá)式\合理的分段\DSL
案例分析:若干代碼片段,多數(shù)來(lái)自于真實(shí)項(xiàng)目的丑陋代碼,演示如何提高這些代碼的可讀性,使得代碼結(jié)構(gòu)更加清晰。
2、整潔的函數(shù)
案例分析:Fitness代碼分析
3、異常處理
案例分析:版本升級(jí)管理系統(tǒng)的異常處理
4、重構(gòu)
案例實(shí)踐:
影片租賃系統(tǒng)
分布式系統(tǒng)消息處理的測(cè)試
JBehave測(cè)試用例
綜合思考
如何制定重構(gòu)策略
Code Review 案例:我在客戶處做的代碼診所

活動(dòng)詳情

提交需求