인스턴스 변수 2개를 하나로 줄이는 경우
→ args 배열을 list로 변환한 후 iterator를 set함수로 전달
public class Args {
...
private Iterator<String> currentArgument;
private List<String> argsList;
}
...
private boolean parseArguments() throws ArgsException {
for (currentArgument = argsList.iterator(); currentArgument.hasNext();) {
String arg = currentArgument.next();
parseArgument(arg);
}
return true;
}
리팩토링 중 코드를 넣고 빼는 일은 흔한 일이다