顯示具有 Refactoring 標籤的文章。 顯示所有文章
顯示具有 Refactoring 標籤的文章。 顯示所有文章

2009年1月3日 星期六

分解條件式 (Decompose Conditional)

這是一個由名字判斷是否為會員的程式片段。

global membersName

...

if {[lsearch $membersName "Jacky.Lin"] != -1} {
    
puts "歡迎 Jacky.Lin 會員"
} else {
    
puts "歡迎 Jacky.Lin 訪客"
}

...


Refactoring ...


...

if {[isMember "Jacky.Lin"]} {
    
puts "歡迎 Jacky.Lin 會員"
} else {
    
puts "歡迎 Jacky.Lin 訪客"
}

...



雖然最後的結果都一樣,但下方的程式碼可以清楚的知道條件式的作用。

2008年12月18日 星期四

什麼是重構?

其實大師們三兩句就講出重構的精神,以下擷取於
重構 - 改善既有代碼的設計 (Refactoring: Improving the Design of Existing Code) 一書
Martin Fowler 著
侯捷 熊節 / 合譯


「程式碼被閱讀和修改的次數遠遠多於它被編寫的次數。保持程式碼易讀、易修改的關鍵,就是重構。」

「在不改變程式碼外在行為的前提下,對程式碼作出修改,以改進程式的內部結構。」

如果上面那句是用來形容重構的關鍵,那底下這句就是平實的呈現重構的過程。我相信這兩句話已經可以表達出90% 的重構精神了。