|
第二單元
整潔代碼之道
|
內容一:代碼的壞味道—代碼的質量底線
代碼壞味道概述?
代碼壞味道——程序員與醫生的區別?
代碼壞味道----低級篇(重復的代碼、過長的函數、過大的類、過長的參數列表、發散式變化、分散的修改)
代碼壞味道----中級篇(偽面向對象的調用、數據泥團、基本類型的誤用、switch-case結構的誤用、平行繼承體系、過薄的類、只有局部意義的成員變量)
代碼壞味道----高級篇(過度耦合的消息鏈、過薄的中間對象、緊耦合類、相似的類、只有數據的類、濫用類的繼承關系)
通過案例,讓學員尋找代碼壞味道?
可以根據客戶現在的項目作為案例進行現場分析,找出相應的代碼壞味道
內容二:某項目分析----重點了解現實項目代碼的充斥大量壞味道
介紹項目需求情況,閱讀現有代碼指出代碼壞癥狀?
不看不知道,代碼到底有多爛—觸目驚心的代碼?
通過重構逐步改善代碼質量
本案例學習多種代碼的整潔方案
|
|
第四單元
如何達到優秀的設計
|
內容一:什么是好的設計以及如何預先設計實現
什么是好的設計和衡量的手段?
可擴展性(Extensibility)容易添加新的功能.?結合案例,通過那些手段如何實現該目標?
靈活性(Flexibility)代碼修改平穩地發生.?結合案例,通過那些手段如何實現該目標?
可插入性(Pluggability)容易將一個類抽出去,同時將另一個有同樣接口的類加入進來.結合案例,通過那些手段如何實現該目標?
軟件的變化分析---發現變化/封裝變化/隔離變化?
分析真實項目,如何預先設計,給我們哪些啟示,我們可以學習到什么
內容二:代碼設計中的通用模式(GRASP模式)
什么是GRASP設計原則?
信息專家模式和應用場景,以及案例分析?
創建者模式和應用場景,以及案例分析?
創建者模式和應用場景,以及案例分析?
高內聚/低耦合模式和應用場景,以及案例分析?
控制者模式和應用場景,以及案例分析?
多態/純虛構模式和應用場景,以及案例分析?
間接/保護變量模式和應用場景,以及案例分析?
分析某個具體項目,如何設計重構,給我們哪些啟示,我們可以學習到什么
內容四:案例—某項目設計思路分析
案例情況
演示如何發現設計壞味道,以及如何重構
|