ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          動機(Motivation)
          Extract Method是最常用的重構手法之一。當我看見一個過長的函數或者一段需要注釋才能讓人理解用途的代碼,我就會將這段代碼放進一個獨立函數中。

          有數個原因造成我喜歡簡短而有良好命名的函數。首先,如果每個函數的粒度都很小(finely grained),那么函數之間彼此復用的機會就更大;其次,這會使高層函數碼讀起來就像一系列注釋;再者,如果函數都是細粒度,那么函數的覆寫 (override)也會更容易些。

          一個函數多長才算合適?在我看來,長度不是問題,關鍵在于函數名稱和函數本體之間的語義距離(semantic distance)。如果提煉動作(extracting)可以強化代碼的清晰度,那就去做,就算函數名稱比提煉出來的代碼還長也無所謂。
          posted on 2005-08-24 10:54 ivaneeo 閱讀(241) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 万荣县| 盐城市| 麦盖提县| 皮山县| 钟山县| 四平市| 红安县| 安岳县| 玛曲县| 杭州市| 宝清县| 广水市| 宁波市| 宜丰县| 金华市| 化德县| 湟源县| 金堂县| 泗阳县| 土默特右旗| 固阳县| 贵南县| 山东省| 双鸭山市| 泽库县| 永城市| 五台县| 正阳县| 河北省| 尤溪县| 肃宁县| 巴塘县| 抚顺县| 岗巴县| 佳木斯市| 黄梅县| 合川市| 思茅市| 紫阳县| 康定县| 壤塘县|