曙海教育集團
全國報名免費熱線:4008699035 微信:shuhaipeixun
或15921673576(微信同號) QQ:1299983702
首頁 課程表 在線聊 報名 講師 品牌 QQ聊 活動 就業
 

重構-改善既有系統的代碼,設計與架構的最佳實踐課程


 
   班級規模及環境--熱線:4008699035 手機:15921673576( 微信同號)
       每期人數限3到5人。
   上課時間和地點
上課地點:【上海】:同濟大學(滬西)/新城金郡商務樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院 【北京分部】:北京中山學院/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領館區1號(中和大道) 【沈陽分部】:沈陽理工大學/六宅臻品 【鄭州分部】:鄭州大學/錦華大廈 【石家莊分部】:河北科技大學/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:協同大廈
最近開課時間(周末班/連續班/晚班):2020年3月16日
   實驗設備
     ☆資深工程師授課
        
        ☆注重質量 ☆邊講邊練

        ☆合格學員免費推薦工作
        ★實驗設備請點擊這兒查看★
   質量保障

        1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽;
        2、培訓結束后,授課老師留給學員聯系方式,保障培訓效果,免費提供課后技術支持。
        3、培訓合格學員可享受免費推薦就業機會。

課程大綱
軟件代碼的新思維----代碼就是設計,代碼質量決定軟件可維護性
軟件可維護性(為什么必須重視軟件的可維護性)
代碼質量概述
破窗效應
對代碼的重新認識---代碼就是設計
優秀代碼的評價標準
好代碼和糟糕代碼之間的區別
劣質代碼的代價
大師評價整潔代碼的標準
Robert C Martin
Kent Beck`
Ward Cunningham
Ron Jeffries
Grady Booch
Dave Thomas

重構思想
重構概述
何時重構
如何發現哪些地方需要重構
如何保證重構的正確
如何測試重構
通過一個小案例演示重構的基本思想(什么時間重構,如何發現重構點,如何保證重構的正確性,最后如何驗收)

案例—通過實際項目演示重構
介紹項目需求情況,進行設計
閱讀代碼指出代碼壞癥狀
通過重構逐步改善代碼質量







重構關鍵—發現代碼的壞味道?
代碼壞味道概述
代碼壞味道的分類
代碼壞味道----低級篇(重復的代碼、過長的函數、過大的類、過長的參數列表、發散式變化、分散的修改)
代碼壞味道----中級篇(偽面向對象的調用、數據泥團、基本類型的誤用、switch-case結構的誤用、平行繼承體系、過薄的類、只有局部意義的成員變量)
代碼壞味道----高級篇(過度耦合的消息鏈、過薄的中間對象、緊耦合類、相似的類、只有數據的類、濫用類的繼承關系)
通過案例,讓學員尋找代碼壞味道
可以根據客戶現在的項目作為案例進行現場分析,找出相應的代碼壞味道

某項目分析----重點了解現實項目代碼的充斥大量壞味道
介紹項目需求情況,閱讀現有代碼指出代碼壞癥狀
不看不知道,代碼到底有多爛—觸目驚心的代碼
通過重構逐步改善代碼質量
本案例學習多種重構方式




重構技術
重構名錄
介紹常見的重構技術
分別通過相關案例展示重構手段

重構工具
重構工具概述
使用IDE重構工具進行重構
重構工具的使用標準
重構工具的使用心得
通過案例演示如何通過重構工具完成重構

重構案例—該案例重點??函數和函數調用重構
函數的重構
函數調用重構
函數參數的重構
重復代碼處理策略
通過案例介紹函數的重構

重構案例—該案例重點 復雜條件表達式重構
復雜條件表達式重構
IF/Else語句的危害
Switch語句的危害
通過案例介紹如何重構面向過程代碼到面向對象

重構案例—該案例重點學習代碼格式和命名
代碼格式規范
代碼命名-名副其實
很重要,但是總被忽略的基本功
通過案例介紹代碼格式以及如何使用IDE工具進行定制格式
通過案例介紹代碼的命名,以及如何重構

重構案例—該案例重點 數據結構重構
數據結構重構
通過案例介紹如何重構面向過程代碼到面向對象

重構案例—該案例重點 對象職責和對象重構
過程化思維和面向對象設計
對象的重新思考
職責驅動的對象設計
通過案例介紹如何重構面向過程代碼到面向對象





軟件質量和代碼質量
軟件質量概述
代碼質量的度量
Chidamber & Kemerer度量,
Depth of Inheritance Tree(DIT)
Number of Childre(NOC)
Response for a Class(RFC)
Afferent/Efferent Couplings(CA/CE)
Lack of cohesion in methods(LCOM)
業界其他度量標準
通過分析多個實際項目,分別度量相關是否標準

代碼評審和質量抽查
代碼評審前期準備
代碼評審的代碼量
代碼評審的檢查表
代碼評審的總結與學習
通過案例分析如何做好代碼評審




代碼靜態分析工具
代碼靜態分析工具概述
以Java語言代碼靜態分析工具為例介紹
CheckStyle:用于編碼標準?
PMD 的 CPD:幫助發現代碼重復?
Coverlipse:測量代碼覆蓋率?
JDepend:提供依賴項分析?
Metric:有效地查出復雜度
其他語言相關代碼靜態分析工具
通過案例演示工具在項目之中的應用

持續集成
持續集成概述
持續集成的要點和原則?
構建策略和最佳實踐?
持續集成對代碼分析的支持
通過案例演示如何利用持續集成完成代碼檢查和代碼分析




什么是好的設計以及如何預先設計實現?
什么是好的設計和衡量的手段
可擴展性(Extensibility)容易添加新的功能. 結合案例,通過那些手段如何實現該目標
靈活性(Flexibility)代碼修改平穩地發生. 結合案例,通過那些手段如何實現該目標
可插入性(Pluggability)容易將一個類抽出去,同時將另一個有同樣接口的類加入進來. 結合案例,通過那些手段如何實現該目標
軟件的變化分析---發現變化/封裝變化/隔離變化
分析真實項目,如何預先設計,給我們哪些啟示,我們可以學習到什么

重構與設計----敏捷設計思想(演化式設計或者反思性設計)?
重構與設計的思想---根據代碼壞味道改善設計
軟件需求不可預測性----設計師不可能進行預測式設計
軟件設計的重構
軟件演化式設計---敏捷的設計思想
分析某電信項目,如何設計重構,給我們哪些啟示,我們可以學習到什么

通過代碼指標進行設計重構?
代碼指標和可視化有助于識別代碼的重要部分,從而識別設計壞味道,進行重構設計
相關代碼指標(HIT 繼承樹的高度/NOP 包的數量/NOC 類的數量/NOM 方法的數量/LOC 代碼行數/CYCLO 圈復雜度/CALL 每個方法的調用數)
分析案例主要討論兩個指標,圈復雜度(cyclomatic complexity) 和傳入耦合(afferent coupling), 介紹顯示和理解這兩個指標的一些工具,以及如何通過組合指標幫助發現設計特征。






重構到模式
軟件設計的基本原則
設計模式概述
設計模式的本質論
設計模式如何適應變化和封裝
重構到模式的思路

案例---重點介紹重構基本類型依賴和對應模式
通過案例學習以下重構到模式手段
以State取代狀態改變條件語句
以Strategy取代條件邏輯
以Composite取代隱含樹
以Interpreter取代隱式語言
轉移裝飾功能到Decorator
用Builder封裝Composite
重點學習案例的重構到模式的過程

案例---重點介紹重構代碼重復和對應模式
通過案例學習以下重構到模式手段
構造Template Method
以Composite取代一/多之分
引入Null Object
用Adapter統一接口
用Fatory Method引入多態創建
重點學習案例的重構到模式的過程

案例---重點介紹重構代碼過長/過大的類/方法和對應模式
轉移聚集操作到Vistor
以Strategy取代條件邏輯
以Command取代條件調度程序
轉移聚集操作到Collecting Parameter
重點學習案例的重構到模式的過程

案例---重點介紹條件邏輯過度復雜和對應模式
以Strategy取代條件邏輯
以State取代狀態改變條件語句
轉移裝飾功能到Decorator
引入Null Object
以Command替換條件調度程序
轉移聚集操作到Visitor?
重點學習案例的重構到模式的過程
大型
項目
重構
案例
分析
架構重構
軟件架構概述
遺留系統的軟件架構恢復
軟件架構的重構時機
軟件架構的重構步驟
架構壞味道
架構重構策略

案例分析—某web網站架構重構
項目背景以及相關需求
軟件架構的演進與重構過程
質量屬性對軟件架構的驅動
架構的可擴展性架構
緩存技術在架構之中的應用
Web層的架構策略
中間層的架構和集群策略
大型并發系統Session的復制和容錯架構策略
數據的架構
軟件架構的重構策略

案例分析—某電信項目架構重構
介紹項目需求情況,進行設計
通過重構逐步實現設計的可維護, 可重用
應用管道與過濾器/元數據/微內核等架構模式
應用AOP架構思想
應用設計模式(Command/ Observer/Proxy/Chain of Responsibility )?
通過案例學習架構的重構策略和步驟



 

android開發板
linux_android開發板
fpga圖像處理
端海培訓實驗設備
fpga培訓班
 
本課程部分實驗室實景
端海實驗室
實驗室
端海培訓優勢
 
  備案號:備案號:滬ICP備08026168號-1 .(2024年07月24日)....................
友情鏈接:Cadence培訓 ICEPAK培訓 EMC培訓 電磁兼容培訓 sas容培訓 羅克韋爾PLC培訓 歐姆龍PLC培訓 PLC培訓 三菱PLC培訓 西門子PLC培訓 dcs培訓 橫河dcs培訓 艾默生培訓 robot CAD培訓 eplan培訓 dcs培訓 電路板設計培訓 浙大dcs培訓 PCB設計培訓 adams培訓 fluent培訓系列課程 培訓機構課程短期培訓系列課程培訓機構 長期課程列表實踐課程高級課程學校培訓機構周末班培訓 南京 NS3培訓 OpenGL培訓 FPGA培訓 PCIE培訓 MTK培訓 Cortex訓 Arduino培訓 單片機培訓 EMC培訓 信號完整性培訓 電源設計培訓 電機控制培訓 LabVIEW培訓 OPENCV培訓 集成電路培訓 UVM驗證培訓 VxWorks培訓 CST培訓 PLC培訓 Python培訓 ANSYS培訓 VB語言培訓 HFSS培訓 SAS培訓 Ansys培訓 短期培訓系列課程培訓機構 長期課程列表實踐課程高級課程學校培訓機構周末班 端海 教育 企業 學院 培訓課程 系列班 長期課程列表實踐課程高級課程學校培訓機構周末班 短期培訓系列課程培訓機構 端海教育企業學院培訓課程 系列班
主站蜘蛛池模板: 国产成人精品综合久久久| 欧美综合图区亚洲综合图区| 欧美自拍另类欧美综合图片区| 天天综合天天做天天综合| 国产婷婷色综合AV蜜臀AV| 激情综合一区二区三区| 亚洲欧美日韩国产综合一区二区| 狠狠色丁香婷综合久久| 久久综合国产乱子伦精品免费| 欧美激情综合网| 综合久久国产九一剧情麻豆| 狠狠色丁香久久婷婷综合_中| 中文字幕亚洲综合久久| 欧美激情综合亚洲一二区| 亚洲综合精品网站在线观看| 久久婷婷激情综合色综合俺也去| 色婷婷综合和线在线| 精品综合久久久久久97| 国产精品天干天干综合网| 国产欧美日韩综合一区在线播放| 99久久婷婷国产综合亚洲| 浪潮AV色综合久久天堂| 亚洲综合色婷婷在线观看| 色综合中文综合网| 国产成人综合网在线观看| 色综合久久无码中文字幕| 婷婷成人丁香五月综合激情| 亚洲国产综合人成综合网站| 亚洲 综合 欧美在线视频| 久久久久综合国产欧美一区二区| 国产激情电影综合在线看| 亚洲国产综合精品中文第一区| 一本色道久久综合亚洲精品| 狠狠色丁香久久综合婷婷| 一本大道加勒比久久综合| 亚洲色欲久久久久综合网| 91成人亚洲综合欧美日韩| 97se亚洲国产综合自在线| 精品综合久久久久久98| 区三区激情福利综合中文字幕在线一区亚洲视频1| 天天干天天色综合|