Tuesday, 6 July 2010

Complete bafflement

I'm just completely baffled by this piece of code I just found in one of our classes:
int escalated = 0, regular = 0, requeue = 0;
for (LanguageMessageCountType languageMessageCountType : LanguageMessageCountType.values()) {
switch (languageMessageCountType) {
case ESCALATED:
escalated = languageQueue.getEscalatedMessagesCount();
keyValuesMap.put(languageMessageCountType.name(), String.valueOf(escalated));
break;
case REGULAR:
regular = languageQueue.getRegularMessagesCount();
keyValuesMap.put(languageMessageCountType.name(), String.valueOf(regular));
break;
case REQUEUE:
requeue = languageQueue.getRequeuedMessagesCount();
keyValuesMap.put(languageMessageCountType.name(), String.valueOf(requeue));
break;
default:
break;
}
}
keyValuesMap.put(TOTAL.name(), String.valueOf(escalated + regular + requeue));
view raw wtf.java hosted with ❤ by GitHub

Seriously, what the fuck is that about? How is that clearer, cleaner, better or more reliable than just making the three calls in a row? I can understand trying to refactor it out into something more clever and more expressive, but this is just wordy crap that obscures what you're doing.

Some days, I despair ...

No comments:

Post a Comment