在項目中碰到一些重用上的問題,有些想法,就先寫一點。
重用應該是高層的復用,邏輯的復用,接口的復用,而不是具體實現的復用。
我們項目開始講復用,就是大家把別人的代碼拿過來,可用的地方就用,不同的地方改改,結果問題一堆。說到底就是接口沒有定義清楚的,很多該復用的邏輯隱藏在了具體的實現中。這樣導致無法進行接口的復用,轉而使用具體的實現復用。從程序員的角度看,他們總會使用成本最小的方法完成任務。所以我們要時刻思考如何能讓最正確的方法在他們看來同時也是成本最小。
這里有一個較為簡單的辦法,就是盡量使用方法封裝實現,使接口的粒度最小。如果一個實現需要幾百行,且其中包含多個邏輯,就最好抽取出多個方法,然后在主體接口內進行調用。這樣的代碼邏輯清晰易讀,可重用性也高??纯创髱焸儗Υa的不斷重構,很大程度上就是重構出粒度最細,復用性最高的接口。
如何達到最大程度的復用,其實是非常復雜的問題,還需要在今后的項目中不斷體會。