關(guān)于重用
在項(xiàng)目中碰到一些重用上的問題,有些想法,就先寫一點(diǎn)。
重用應(yīng)該是高層的復(fù)用,邏輯的復(fù)用,接口的復(fù)用,而不是具體實(shí)現(xiàn)的復(fù)用。 我們項(xiàng)目開始講復(fù)用,就是大家把別人的代碼拿過來,可用的地方就用,不同的地方改改,結(jié)果問題一堆。說到底就是接口沒有定義清楚的,很多該復(fù)用的邏輯隱藏在了具體的實(shí)現(xiàn)中。這樣導(dǎo)致無法進(jìn)行接口的復(fù)用,轉(zhuǎn)而使用具體的實(shí)現(xiàn)復(fù)用。從程序員的角度看,他們總會(huì)使用成本最小的方法完成任務(wù)。所以我們要時(shí)刻思考如何能讓最正確的方法在他們看來同時(shí)也是成本最小。
這里有一個(gè)較為簡單的辦法,就是盡量使用方法封裝實(shí)現(xiàn),使接口的粒度最小。如果一個(gè)實(shí)現(xiàn)需要幾百行,且其中包含多個(gè)邏輯,就最好抽取出多個(gè)方法,然后在主體接口內(nèi)進(jìn)行調(diào)用。這樣的代碼邏輯清晰易讀,可重用性也高。看看大師們對代碼的不斷重構(gòu),很大程度上就是重構(gòu)出粒度最細(xì),復(fù)用性最高的接口。
如何達(dá)到最大程度的復(fù)用,其實(shí)是非常復(fù)雜的問題,還需要在今后的項(xiàng)目中不斷體會(huì)。
posted on 2006-10-15 23:13 pesome 閱讀(490) 評(píng)論(0) 編輯 收藏 所屬分類: 生活隨筆