重構和設計模式---2016最後一篇博文,也是這一年的心得。

重構是逐步改進代碼和架構的過程,也是不斷嘗試的過程。

重構是在不修改或少量修改代碼的外部行爲的情況下,對其內部結構進行調整的過程;重構過程包括代碼結構優化、算法的優化,甚至一個變量的使用優化。

在軟件開發中,經常會發現一些這樣或那樣的問題,這時,我們就可能通過重構來解決這些問題。通過重構,我們可以達到以下目的:

● 優化代碼設計,使其更清晰、更易閱讀,這也是創建可維護的高質量代碼的要求。

● 優化算法,使其運行更高效。

● 優化性能,通過合理、科學地組織

代碼,可以有效提高軟件系統的性能。

● 優化架構,使軟件架構更靈活、更高效、更富有彈性。

● 讓我們對代碼的理解更深入,可以幫助我們理解如何更好地使用編程技術和方法,這也是編程技術不斷提高的有效途徑。

在重構的過程中,我們還應該注意以下幾點:

● 對於重複代碼、過於複雜的算法和結構,以及思路模糊不清的代碼,一定要進行徹底的重構,否則當問題累積過多時,將很難進行有效的改進。

● 重構過程一定要逐步完成、循序漸進,一次只重構一個問題,重構完成一定要進行測試後才能做出結論。

● 在有條件的情況下,重構可以嘗試

多種方法,以便找出最優的重構方法。

● 如果面對一堆不能正確運行的代碼,卻找不出好的重構方法,那麼就完全重寫它們,在這種情況下,完全重寫可能是比重構更好的選擇。

設計模式是針對軟件開發中不斷出現的相同問題,通過實踐和總結,整理出的一系列與問題相對應的解決方案。

設計模式是經過很多人的努力,通過不斷地發現和累積的經驗與智慧結晶,我們可以在自己的代碼結構中再現這些模式,以解決開發中的實際問題。但是,在軟件中應用設計模式,我們還需要注意一些問題,例如:

● 設計模式並不是軟件設計的終極武器。我們學習設計模式,或是其他的開發技術,它們都不會自己完成軟件的開發,真正使用它們的是開發者,只有正確、合理地使用這些開發技術才能達到提高軟件質量的目的;濫用或錯誤地使用往往會適得其反。

● 很多人學習了設計模式以後,往往會在軟件設計的開始就大量地考慮如何在軟件中應用各種設計模式,達到了離開設計模式就無法編程的地步,甚至是在開發一個非常簡單的小項目裏也是這樣。這種情況被稱爲“模式癡迷”,往往是設計模式初學者易犯的錯誤,我也曾經這樣。

● 但是,也並不是說在軟件開發的設計階段就完全不需要考慮應用設計模式,這是一個比較複雜的設計前瞻性問題,需要足夠的開發經驗作爲支撐。在考慮應用設計模式時,必須要對設計模式的特點,以及軟件架構和需求非常熟悉,設計要恰到好處,儘可能地防止設計過度或設計不足的出現。

● 在對軟件架構進行重構的過程中,不應只是使用設計模式的過程,根據實際情況,我們要對代碼進行無情的鍼砭,不要心疼移除自己費大力氣編寫的代碼,它們可能只是你創建高質量軟件的絆腳石。在重構的過程中我們應該根據真正的需求,在軟件架構中應用或去除設計模式,或者只是借鑑設計模式的某些特點來提高代碼的質量。
—–來自《編寫高質量的C#代碼–曹化宇著》
個人覺得這本書部分內容寫的不錯,也有一定的啓示,但是裏面的代碼寫的不是很好,根本沒有達到上面所說的內容,但是適合有C#基礎的讀者讀讀,一些老司機還是不要讀了。如果一定要讀,建議讀讀後面的介紹的設計模式。

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