[英]Eclipse refactoring: move method inside collaborator
我有以下場景:
public class Controller {
private ModelRepository repository;
public int getModelCount() {
int count = 0;
List<Model> models = repository.getModels();
for (Model model : models) {
if (model.somePredicate()) {
count++;
}
}
return count;
}
}
現在,我想通過使用一些自動Eclipse重構來移動ModelRepository
的getModelCount
方法,以便我最終在控制器中使用它:
public class Controller {
private ModelRepository repository;
public int getModelCount() {
repository.getModelCount();
}
}
Eclipse Indigo有可能嗎? 如果有,怎么樣? 謝謝!
我不認為有單跳重構,但你可以做到兩個。
首先,突出顯示getModelCount()
方法的內容並執行refactor->extract method
,調用new方法類似於countModels
。
其次,對新的countModels()
方法執行refactor->move
,選擇repository
字段作為目標。
這將在ModelRepository
上為您提供一個名為countModels
而不是getModelCount
。 為了完整性,你可以對此進行refactor->rename
,但無論如何我更喜歡countModels
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.