I noticed that the same thing can be done in for-loops and the like, by means of continue. I just don't know if it's in common use at the moment.
Bad example:
/**
* Process the proper states.
*/
public void processStates()
{
List<State> stateList = new ArrayList<State>();
for (State state : stateList)
{
if (!state.equals(State.INVALID))
{
Capital capital = State.getCapital();
if (capital != null && capital.size() > 1000000)
{
stateList.add(state);
}
}
}
stateService.processStates(stateList);
refresh();
}
* Process the proper states.
*/
public void processStates()
{
List<State> stateList = new ArrayList<State>();
for (State state : stateList)
{
if (!state.equals(State.INVALID))
{
Capital capital = State.getCapital();
if (capital != null && capital.size() > 1000000)
{
stateList.add(state);
}
}
}
stateService.processStates(stateList);
refresh();
}
Good example (bad example refactored):
/**
* Process the proper states.
*/
public void processStates()
{
List<State> stateList = new ArrayList<State>();
for (State state : stateList)
{
if (state.equals(State.INVALID))
{
// invalid state!!!
continue;
}
Capital capital = State.getCapital();
if (capital == null || capital.size() <= 1000000)
{
// capital doesn't exists or not impressive enough!
continue;
}
stateList.add(state);
}
stateService.processStates(stateList);
refresh();
}
* Process the proper states.
*/
public void processStates()
{
List<State> stateList = new ArrayList<State>();
for (State state : stateList)
{
if (state.equals(State.INVALID))
{
// invalid state!!!
continue;
}
Capital capital = State.getCapital();
if (capital == null || capital.size() <= 1000000)
{
// capital doesn't exists or not impressive enough!
continue;
}
stateList.add(state);
}
stateService.processStates(stateList);
refresh();
}
No comments:
Post a Comment