一、Duplicate Code 重復代碼
1、什么是duplicate code?
常見情況:a:同一個類中兩個函數中含有相同表達式。
b:兩個互為兄弟的子類中含有相同表達式。
c:兩個毫不相關的類出現duplicate code。
2、怎么樣重構duplicate code?
a情況extract method提取重復代碼,讓兩個地方都調用提煉出來的那一段代碼。
b情況extract method提取重復代碼,然后放入超類中。如果代碼只是類似并非完全相同怎么做?
運用extract method把相似和差異分開,構成一個單獨函數。
c情況應該考慮對其中一個使用extract class,將重復代碼提取到一個獨立類,然后在另一個類中使用這個新類。但是,重復代碼也許只可能的確屬于某個類,總之需要決定這個函數放在哪兒最合適,并確保它被安置后,不會在其他地方出現。