大話重構

小步快跑:逐步進化式的程序優化過程。


演進式設計,迭代式開發


軟件——滿足功能需求


軟件開發過程是一個由簡單到複雜循序漸進的過程。


對於變化,可以通過重構來適應變化。


當軟件因爲需求變更而開始逐漸退化時,運用軟件重構改善我們的結構,使之重新適應軟件需求的變化


重構的方法:

拆分類、函數:單一職責原則。(分久必合、合久必分);

提高代碼複用率:封裝、抽取父類、類、函數;

發現程序可擴展點:開閉原則,過程的擴展與放置鉤子——運用模板模式增加可擴展點,面向切面的可擴展設計;

降低程序依賴度:接口與工廠模式;與外部系統解耦——適配器模式,方法的解耦——策略模式,過程的解耦——命令模式;

分層:

領域驅動設計:


1、TIPS

(1)什麼是重構

重構:改變軟件的內部結構,但要保證系統中的每個接口其輸入輸出不變

貫穿整個重構過程的是不斷地測試(先手工測試,等條件成熟,進行代碼級的自動化測試)。修改一點點就進行一次測試。


(2)軟件重構第一步就是拆分。

當重複代碼被割裂成碎片時——繼承結合模板模式;


繼承的泛濫——橋接模式;


透明的功能擴展與設計——組合模式與裝飾模式;


解耦與自動化測試;


(3)什麼時候重構

重構讓程序可讀;

重構,纔好複用;

先重構,再擴展;


需求變更是我們去重構的主要動因。

當原程序不適應新的需求時先重構系統使之首先適應新的需求,再去實現這些需求;


重構方法可分爲以下幾個層次:

方法的重構、對象的重構、對象間的重構、繼承體系間的重構、組織數據的重構、體系架構的重構;


(4)怎樣擁抱變化

領域纔是軟件系統的心

領域模型分析方法;

領域驅動設計——使用領域模型與客戶一起設計;



(5)如何評價軟件質量


(6)領域驅動設計思想:

在面向對象的世界裏,我們設計的類、方法、關聯,應當與現實世界中的事物、行爲,及其相互的關係對應起來。現實世界有什麼事物,這些事物有什麼行爲,相互之間是什麼關係,則我們在軟件世界裏就應當設計什麼類、什麼方法和它們之間的關聯關係。


2、PS

(1)QTP

使用QTP的目的是想用它來執行重複的手工測試。


(2)軟件修改的四種動機

a、增加新功能;

b、原有功能有bug;

c、改善原有程序的結構;——提高軟件內部的質量;

d、優化原有系統的性能;



(3)什麼是高質量的軟件

易讀;保證維護容易;保證需求變更輕易進行,而不是大改——要做到,需要系統重構,持續不斷對內部質量進行優化改進;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章