最近對項目組的一些較差的代碼進行了些重構,同時靈光一閃,對代碼有些比較形象的比喻。
壞的代碼就象揉面團,管什么接口什么實現全揉成一團,一個方法幾百行,注釋寫再多也是面團(夾了些小紙條而已)。然后需要重用了,就是從中抓起一把面團,然后放到其它的面團里繼續揉。這樣重復代碼一堆,什么易讀性、擴展性、可維護性都是無從談起。
好的代碼就象堆積木,接口實現定義清清楚楚,每個接口只做一件事情,重復代碼都是通過更細的接口來消除。重用就是把積木塊往該放的地方堆,這樣的代碼,幾個大塊幾個小塊一目了然,只要方法命名規范,連注釋都可以省去。這樣耦合性低,易讀性、擴展性、可維護性都可以得到保證。
把面團變成積木并不復雜,定義好模具,面團一團團往里面填充,待穩定下來,就成了一塊塊積木。這里關鍵就是模具的制作,推薦制作寶典:
martin fowler
的那本重構。還得有模具的丈量工具,就非
junit
莫屬了。