About

塵世間一位迷途師程工,「三單」(單眼、單車、單身) 幫初階會員。

Posts Tagged “ Refactoring ”

[系列] 使用 ReSharper 進行程式重構 - 前言

最近在閱讀程式重構 (Refactoring) 的相關書籍與資料,網路上關於重構的介紹資料,已經非常豐富且完整,應該用不著小弟再補充說明。大家都推薦的經典書籍,重構─改善既有程式的設計,自然也是要大力推薦。原作者 Martin Fowler 寫的相當好,侯捷老師翻譯的水準也是相當棒。對重構這議題有興趣的朋友,可以找來看看,應該對您會有幫助的。

我在閱讀資料時,常發現使用的展示範例是 Java 搭配 Eclipse 等 IDE。我對語言平台本身沒有任何偏見,只是由於目前在工作上,使用的語言是 C#,與 Visual Studio 做為 IDE,所以一直在尋找有沒有相關的資源,可以展示在 Visual Studio 下,對 C# 程式進行重構的範例。

找到比較接近的系列文章,是由 Sean Chambers 撰寫的 31 Days of Refactoring 系列文章 (簡中譯版連結在此)。算是比較完整的以 C# 做為範例語言,展示重構技法的系列文章。

只是這系列的文章雖然不錯,但美中不足的是文章內容,僅有單純以 C# 程式碼做說明,而沒有講解,如何透過 Visual Studio 來達成重構的效果。

當然作者可能是想聚焦在重構的「技法」本身,但對於我自己來說,重構的過程,如何善用 IDE 的支援也是相當重要。畢竟自己手動調整程式,可能會造成程式出問題而不自知。如果可以善用 IDE 的重構功能,透過自動化的效果來達成重構的效果,除了生產力的提升外,對於確保程式正確性,也更有把握。

因為上述原因,所以有了撰寫這小小系列文章的想法,主要是想整理自己在 Visual Studio + C# 環境下,執行重構工法的「步驟整理」。範例程式碼與重構工法的內容,都是基於 31 Days of Refactoring 中的 Sample Code。本系列文章只是整理,如何使用 IDE 的功能,來達到原文中的重構後效果的步驟。算是幫自己做個筆記,和補足目前 C# 重構的相關資料中,這一小小塊的不足吧。

另一方面,有鑑於 Visual Studio 目前的重構功能,實在是非常的陽春 (這就純萃是我個人的偏見了,如果有大大願意來打我臉,小弟相當願意接受:D)。所以在研究後,目前我開始採用 ReSharper 這個 Visual Studio 的 plugin 軟體,來做為自己在 Visual Studio 下,執行重構動作的標準軟體,也會用此軟體做為本系列文章的展示。

當然 ReSharper 是付費軟體,所以如果有朋友對於使用付費軟體無法接受的話,或許也可以在閱讀此系列文章後,尋找免費但可以達成相同功能的 plugin 替代。

Have fun! :)

[系列] 使用 ReSharper 進行程式重構 - Tip 1 封裝集合

原文︰Refactoring Day 1 : Encapsulate Collection
譯文︰31天重构学习笔记1. 封装集合