(Source Code: https://github.com/testfoxx/TwoFlashLight.git)
Remove unuse class
專案中的類別都需要維護的成本,沒有被引用的類別除了會增加維護的時間和人力以外,也很容易會造成 bug 的源頭,因為你不知道到底需不需要他們。
不過現在有了 version control ,你不需要擔心日後找不到他們。所以放心刪除吧。
尋找 unuse class的方法有很多,當類別不多時可以考慮一個一個找,當然也有一堆套件方便工作。
首先你可以藉由 ide 幫你找,使用 eclipse 在類別的名稱上按下 ctrl + alt + h , 或是點擊滑鼠右鍵選擇 open call hierarchy,都會幫你列出該類別被引用的位置。
但是類別中如果有 static 方法,因為 static 方法不需要建立類別實體就可呼叫。因此也需要對 static 方法實施上述的工作。
另一個快速的方式可以直接刪除或改名該類別,看看其他類別是否有出現error的狀況。
重構步驟為:
首先對 com.twoflashlight.utility 內的類別進行測試,除了 FP 這個類別以外其他的類別都沒有被引用,只留下 FP 並刪除其他類別。
接著對 com.twoflashlight.main 進行測試,除了 MainActivity 這個類別以外其他的類別也都沒有被引用,刪除其他類別。
刪除掉沒有使用的類別後,TwoFlashLight 只剩下2個類別。
最後在 local 端執行 UnitTest,結果如下

test:
[getlibpath] Library dependencies:
[getlibpath] No Libraries
     [echo] Running tests...
     [echo] Running tests ...
     [exec]
     [exec] com.twoflashlight.test.UnitTest:.
     [exec] Test results for InstrumentationTestRunner=.
     [exec] Time: 7.231
     [exec]
     [exec] OK (1 test)
...

通過 local 端 UnitTest 後,即可 merge 到遠端 Server 上。
 
refactoring part3