【課程簡介】
軟件重構(gòu)面臨的背景都是相似的,程序員們?yōu)榱丝焖偻瓿尚枨蠛蜕暇€而寫出了最基本的代碼。然后在功能的不斷擴(kuò)充過程中,以打補丁的方式對代碼進(jìn)行擴(kuò)充,中間還會面臨著開發(fā)人員的變更和離職。逐漸地,代碼就會變得越來越臃腫,漸漸地變得難以維護(hù)。
很多開發(fā)人員對重構(gòu)有著嚴(yán)重的誤解,錯誤的認(rèn)為重構(gòu)是專門安排一個階段來進(jìn)行的。但是,我們認(rèn)為重構(gòu)是持續(xù)進(jìn)行的,而不是在項目結(jié)束時、發(fā)布版本時、迭代結(jié)束時,甚至不是每天快下班時才進(jìn)行的。重構(gòu)是我們每隔一個小時或者半個小時就要去做的事情。通過重構(gòu),我們可以持續(xù)地保持代碼盡可能干凈、簡單并且具有表達(dá)力。因此,重構(gòu)成為了每個開發(fā)人員必備的基本技能,可是國內(nèi)的開發(fā)人員卻很少去做。
那么,糟糕的軟件代碼會有什么樣的影響呢?首先是開發(fā)效率的降低,在糟糕架構(gòu)下加入新功能,會受之前代碼的影響,可能存在意想不到的改動點和問題點,開發(fā)和調(diào)試時間都會大大增加;其次是故障率的提升,在質(zhì)量低下的代碼中,總是容易隱藏著很多不易發(fā)現(xiàn)的坑,這些都會成為故障的隱患;同時,架構(gòu)也會使得需求的完成大打折扣,使得設(shè)計好的目標(biāo),因為架構(gòu)限制或者性能等原因,只能完成80%甚至更低。
大多數(shù)軟件開發(fā)方面的培訓(xùn)都是關(guān)于新系統(tǒng)的設(shè)計和開發(fā),講師教你如何從無到有創(chuàng)建出一個新的應(yīng)用來。然而,在真實的項目中,許多產(chǎn)品如今往往依然運行在基于復(fù)雜架構(gòu)設(shè)計和傳統(tǒng)技術(shù)實現(xiàn)的遺留系統(tǒng)上,并依賴著它們。如何摸索出有效方法應(yīng)對這些遺留系統(tǒng),已經(jīng)成為我們最需解決的問題之一。
隨著不同產(chǎn)品的推出,不同客戶、不同版本的發(fā)布,需要維護(hù)的遺留代碼越來越多,重構(gòu)也就在所難免。不僅如此,所有的軟件系統(tǒng),經(jīng)過一段時間的維護(hù),都會逐漸變成遺留系統(tǒng),并且都遭遇了緩慢而不可抗拒的腐化。因此,軟件開發(fā)人員不得不面對既有系統(tǒng)的混亂代碼。而本課程正是告訴你如何重構(gòu)既有的遺留系統(tǒng),如何重構(gòu)代碼、重構(gòu)設(shè)計、重構(gòu)架構(gòu)。
本課程教你如何扭轉(zhuǎn)系統(tǒng)腐化,重構(gòu)復(fù)雜遺留系統(tǒng),減低維護(hù)成本。在面對一個錯綜復(fù)雜的、不透明的、令人費解的系統(tǒng)時如何慢慢地、逐步地將其變成一個簡單的、有良好組織和設(shè)計的系統(tǒng)。
【培訓(xùn)特色】
本課程注重實戰(zhàn),采用案例貫穿方式完成實踐,收集了大量的真實案例,針對項目過程中技術(shù)人員常犯的錯誤進(jìn)行了匯總、研討,并形成培訓(xùn)教程。本次培訓(xùn)從程序員的編程思維開始講解,通過大量的真實案例,詳細(xì)地介紹了重構(gòu)需要注意的要點以及難點,這些知識都是講師十幾年經(jīng)驗的總結(jié)。
本次課程1/3時間講解核心思想,1/3時間動手重構(gòu)實踐,1/3點評分析總結(jié)。
【學(xué)員基礎(chǔ)】
學(xué)員學(xué)習(xí)本課程應(yīng)具備下列基礎(chǔ)知識:
l. 目前正在面臨復(fù)雜遺留系統(tǒng),必須需要維護(hù)和重構(gòu)
2. 具有面向?qū)ο蠡靖拍睿煜せ驹O(shè)計模式
【培訓(xùn)對象】
各類軟件研發(fā)中心的軟件設(shè)計師、架構(gòu)師、項目經(jīng)理、技術(shù)總監(jiān)、質(zhì)量部門經(jīng)理。對于重構(gòu)技術(shù)懷有疑問和困惑,需要梳理解答的團(tuán)隊和個人,效果更佳。
|
代碼重構(gòu) |
設(shè)計重構(gòu) |
軟件腐爛監(jiān)控 |
重構(gòu)管理 |
程序員 |
必須精通 |
需要了解 |
需要了解 |
需要了解 |
設(shè)計師 |
必須精通 |
必須精通 |
需要了解 |
需要了解 |
架構(gòu)師 |
必須精通 |
必須精通 |
必須精通 |
必須精通 |
數(shù)據(jù)庫工程師 |
需要了解 |
需要了解 |
/ |
/ |
質(zhì)量管理 |
/ |
/ |
必須精通 |
必須精通 |
管理者 |
/ |
/ |
需要監(jiān)控 |
需要了解 |
【培訓(xùn)時長】
3天
【課程大綱】
以下大綱內(nèi)容較多,實際授課時根據(jù)學(xué)員課前調(diào)查進(jìn)行調(diào)整,并且實際授課不一定按此順序。