4月23日讀書日,全稱“世界圖書與版權(quán)日”,在廣州天河圖書館開了一張借書卡,借了3本書回來看,其中一本就是重構(gòu)手冊-《重構(gòu)》之姊妹篇。為什么借了這本呢,是因?yàn)槲蚁肓私庖恍┫胂笾械闹貥?gòu)和大家認(rèn)同的重構(gòu)有什么不同,下面我將逐一細(xì)說這個異同。
一、原來重構(gòu)是小步前行,逐一重構(gòu)
我以前認(rèn)為重構(gòu)是某個項(xiàng)目的大部分功能重新修改架構(gòu)才是重構(gòu),看完這本書才知道重構(gòu)可以是對一個屬性,一個方法,一個類, 多個類進(jìn)行重構(gòu),可以是小的修改也可以是大的修改重構(gòu)。
二、從代碼中能看出來的那些代碼需要重構(gòu),但有些不能直接看出來
只要在代碼中看到一點(diǎn)不對勁的警示信號,但是有的無法在代碼中直接看到有什么問題。就像冰箱里的發(fā)霉變質(zhì)食物,有的味道很臭,有的味道有點(diǎn)臭,有的食物變質(zhì)了但是沒有臭味,這跟代碼的異味很相似。
三、重構(gòu)是分重構(gòu)周期的
重構(gòu)是分重構(gòu)周期的,要解決代碼異味越小,重構(gòu)周期越小。一般是分步走的,一小步重構(gòu)一點(diǎn)代碼(可以是某個屬性或某個方法),小步走,按設(shè)定的重構(gòu)周期完成。
四、重構(gòu)是需要衡量是否完成的
重構(gòu)有4個簡單設(shè)計(jì):1、運(yùn)行所有測試;2、不存在重復(fù)的邏輯;3、要向程序員清楚地說明對其很重要的每一個意圖;4、盡量少使用類和方法。