iT邦幫忙

DAY 23
2

軟體路上不孤單,給我SSD,學習之路狂飆系列 第 23

軟體路上不孤單Day23-寫程式就像寫文章-副標題

不論是礦世巨作或者是散文小品,都一定會有內文。而內文就是屬於細節!
軟體開發也是一樣!小程式或者大系統,也一定都會有細節,可是如果把所有的細節都兜在一起,那會是什麼情況呢?
不論是礦世巨作或者是散文小品,都一定會有內文。而內文就是屬於細節!
軟體開發也是一樣!小程式或者大系統,也一定都會有細節!

小時候寫作文時,老師都會要求一個段落不要寫太長,要適時的分段、分句。如果能做到起承轉合更好。那寫程式呢?老師卻沒說一個函示(Method)不要太長。

今天要跟大家介紹的的就是,怎麼樣寫才算是一個比較好的函示(Method),長度多少才比較剛好。在介紹之前,先說個書上的真實小故事:

時間是在1999年的時候(13年前了XD),Robert MartinKent Beck家中拜訪他時,Kent Beck 秀一段程式碼給 Robert 看。那是一個叫做 Sparkle 的程式,是用 Java Swing 寫的。這支程式會在滑鼠的游標上做一些特效,不過重點是當 Robert 看到原始碼的時候,他嚇到了!因為每一個 method 不是一行、就是兩行、三行最多四行(不含註解)。

天哪,13年前耶!他就有如此的功力!Kent Beck大師說過:每個 Method 只做一件事,並且把那件事做好,因為只能做一件事。

或許我們會想,怎麼可能那麼少行阿!可是仔細想想,我們寫文章不也是如此!可能這個大段落我們會給一個子標題,每個子標題裡面又會有很多個副標題,接著才是文章的內容。相對的每個Method也是阿!我們一個Method裡面可能也會呼叫好幾個private method組合起來成為一個大功能。

舉例來說,我這個method的目的是要擷取台灣銀行今天的黃金報價,然後回傳。

public decimal GetGoldPriceToday() {
    var 網頁資料 = getWebPageData(某某某網址);
    var 黃金價格 = GoldParser.GetGodPrice(網頁資料);
    return 黃金價格;
}

是不是,只有三行!!這是主要的Method,他會再去呼叫其他的Method來完成這個工作!

文章導覽
全系列連結
上一篇
下一篇


上一篇
軟體路上不孤單Day22-寫程式就像寫文章-1
下一篇
軟體路上不孤單Day24-寫程式就像寫文章-註解&註釋
系列文
軟體路上不孤單,給我SSD,學習之路狂飆31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
ted99tw
iT邦高手 1 級 ‧ 2012-10-16 20:06:00

沙發
超酷的內容!!
讚讚讚

pajace2001 iT邦研究生 1 級 ‧ 2012-10-17 13:09:48 檢舉

謝謝

我要留言

立即登入留言