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

編碼修行與Code KATA

Bruce Zhang

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

信通院應(yīng)用現(xiàn)代化推進(jìn)中心專家委員會委員,數(shù)字現(xiàn)代化首席顧問,微軟最有價值專家,南京大學(xué)DevOps+ Research Lab企業(yè)導(dǎo)師,南京大學(xué)軟件工程卓越技術(shù)講堂講師,四川大學(xué)軟件工程碩士,K+全球軟件研發(fā)行業(yè)創(chuàng)新峰會聯(lián)席主席,阿里研發(fā)效能峰會出品人,DDD研修會創(chuàng)始人,DDD China社區(qū)卓越貢獻(xiàn)者,2021年度影響力作者獎。
目前擔(dān)任華龍數(shù)字AI研發(fā)總監(jiān),曾擔(dān)任DaoCloud應(yīng)用現(xiàn)代化首席顧問,民航信息技術(shù)總監(jiān)兼首席架構(gòu)師,ThoughtWorks首席咨詢師,HP GDCC解決方案架構(gòu)師,中興通訊高級工程師,并先后在美國、澳大利亞、法國與中國香港為海外企業(yè)提供交付與咨詢服務(wù)。著譯作包括《解構(gòu)領(lǐng)域驅(qū)動設(shè)計》(包括簡體版與繁體版)、《軟件設(shè)計精要與模式》、《架構(gòu)寶典》、《高可用可伸縮微服務(wù)架構(gòu)》、《Java設(shè)計模式》、《恰如其分的軟件架構(gòu)》、《WCF服務(wù)編程》、《人件》。
咨詢與培訓(xùn)內(nèi)容包括AI智能工程化、數(shù)字化轉(zhuǎn)型、領(lǐng)域驅(qū)動設(shè)計、分布式架構(gòu)、設(shè)計模式、重構(gòu)與測試驅(qū)動開發(fā)、高質(zhì)量Java編碼、敏捷項(xiàng)目轉(zhuǎn)型等。咨詢與培訓(xùn)客戶包括工商銀行、中國銀行、花旗銀行、中國銀聯(lián)、招商銀行、浦發(fā)銀行、平安集團(tuán)、太平洋保險、太平人壽、國泰保險、華泰證券、安信證券、廣發(fā)證券、深交所、上海期貨交易所、鄭州商品交易所、清算所、寶馬、廣汽豐田、普華永道、安永、京東、美團(tuán)、酷狗音樂、斯倫貝謝、賽門鐵克、可口可樂、摩托羅拉、華為、中興通訊、中國電信、中國移動、電信盈科、中化集團(tuán)、國家電網(wǎng)、中國體彩、順豐速運(yùn)、戴爾、TCL、浪潮、國航、中航信等近百余家國內(nèi)外企業(yè),服務(wù)的全球五百強(qiáng)企業(yè)達(dá)到二十余家,涉及到的行業(yè)與領(lǐng)域包括互聯(lián)網(wǎng)、零售、金融、通信、制造、民航。
目前,主要致力于大型軟件企業(yè)的數(shù)字化建設(shè)、AI戰(zhàn)略規(guī)劃、分布式架構(gòu)設(shè)計、領(lǐng)域驅(qū)動設(shè)計推廣、大數(shù)據(jù)平臺架構(gòu)設(shè)計以及代碼質(zhì)量提升與敏捷項(xiàng)目轉(zhuǎn)型。

信通院應(yīng)用現(xiàn)代化推進(jìn)中心專家委員會委員,數(shù)字現(xiàn)代化首席顧問,微軟最有價值專家,南京大學(xué)DevOps+ Research Lab企業(yè)導(dǎo)師,南京大學(xué)軟件工程卓越技術(shù)講堂講師,四川大學(xué)軟件工程碩士,K+全球軟件研發(fā)行業(yè)創(chuàng)新峰會聯(lián)席主席,阿里研發(fā)效能峰會出品人,DDD研修會創(chuàng)始人,DDD China社區(qū)卓越貢獻(xiàn)者,2021年度影響力作者獎。 目前擔(dān)任華龍數(shù)字AI研發(fā)總監(jiān),曾擔(dān)任DaoCloud應(yīng)用現(xiàn)代化首席顧問,民航信息技術(shù)總監(jiān)兼首席架構(gòu)師,ThoughtWorks首席咨詢師,HP GDCC解決方案架構(gòu)師,中興通訊高級工程師,并先后在美國、澳大利亞、法國與中國香港為海外企業(yè)提供交付與咨詢服務(wù)。著譯作包括《解構(gòu)領(lǐng)域驅(qū)動設(shè)計》(包括簡體版與繁體版)、《軟件設(shè)計精要與模式》、《架構(gòu)寶典》、《高可用可伸縮微服務(wù)架構(gòu)》、《Java設(shè)計模式》、《恰如其分的軟件架構(gòu)》、《WCF服務(wù)編程》、《人件》。 咨詢與培訓(xùn)內(nèi)容包括AI智能工程化、數(shù)字化轉(zhuǎn)型、領(lǐng)域驅(qū)動設(shè)計、分布式架構(gòu)、設(shè)計模式、重構(gòu)與測試驅(qū)動開發(fā)、高質(zhì)量Java編碼、敏捷項(xiàng)目轉(zhuǎn)型等。咨詢與培訓(xùn)客戶包括工商銀行、中國銀行、花旗銀行、中國銀聯(lián)、招商銀行、浦發(fā)銀行、平安集團(tuán)、太平洋保險、太平人壽、國泰保險、華泰證券、安信證券、廣發(fā)證券、深交所、上海期貨交易所、鄭州商品交易所、清算所、寶馬、廣汽豐田、普華永道、安永、京東、美團(tuán)、酷狗音樂、斯倫貝謝、賽門鐵克、可口可樂、摩托羅拉、華為、中興通訊、中國電信、中國移動、電信盈科、中化集團(tuán)、國家電網(wǎng)、中國體彩、順豐速運(yùn)、戴爾、TCL、浪潮、國航、中航信等近百余家國內(nèi)外企業(yè),服務(wù)的全球五百強(qiáng)企業(yè)達(dá)到二十余家,涉及到的行業(yè)與領(lǐng)域包括互聯(lián)網(wǎng)、零售、金融、通信、制造、民航。 目前,主要致力于大型軟件企業(yè)的數(shù)字化建設(shè)、AI戰(zhàn)略規(guī)劃、分布式架構(gòu)設(shè)計、領(lǐng)域驅(qū)動設(shè)計推廣、大數(shù)據(jù)平臺架構(gòu)設(shè)計以及代碼質(zhì)量提升與敏捷項(xiàng)目轉(zhuǎn)型。

課程費(fèi)用

6800.00 /人

課程時長

2

成為教練

課程簡介

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

目標(biāo)收益

培訓(xùn)對象

課程大綱

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

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

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

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

課程費(fèi)用

6800.00 /人

課程時長

2

預(yù)約體驗(yàn)票 我要分享

近期公開課推薦

近期公開課推薦

活動詳情

提交需求