Wednesday, September 3, 2014

TooManyExceptionsException

Some Java programmers feel the need to write custom exceptions for each case scenario where a failure might happen. But to do this, and handle these failures in the same manner kinda contradicts the purpose of the whole thing.

try {
    fooService.handleFoo(foo, bar);
} catch (FooCreationException e) {
    log.add(e.getMessage());
} catch (FooNotFoundException e) {
    log.add(e.getMessage());
} catch (ManagerException e) {
    log.add(e.getMessage());
} catch (Exception e) {
    log.add(e.getMessage());
}

Here the exception type is lost and only the error message is kept.

Friday, August 22, 2014

Boolean logic? what's that?

Boolean isUnique = false;
if (type.getUnique()){
   isUnique = true;
} else {
   isUnique = false;
}

Wednesday, July 23, 2014

What the case?!

    switch (code) {
    case A: {
        break;
    }
    case B: {
        break;
    }
    case C: {
        break;
    }
    case D: {
        break;
    }
    case E: {
        break;
    }
    case F: {
        save(data.getAmount());
        break;
    }
    case G: {
        break;
    }
    case H: {
        save(data.getAmount());
        break;
    }
    case I: {
        save(data.getAmount());
        break;
    }
    case J: {
        break;
    }
    case K: {
        break;
    }
    case L: {
        save(data.getAmount());
        break;
    }
    case M: {
        break;
    }
    case N: {
        break;
    }
    case O: {
        break;
    }
    case P: {
        break;
    }
    case Q: {
        break;
    }
    case R: {
        save(data.getAmount());
        break;
    }
    case S: {
        break;
    }
    case T: {
        break;
    }
    case U: {
        break;
    }
    case V: {
        break;
    }
    case W: {
        break;
    }
    case X: {
        break;
    }
    case Y: {
        break;
    }
    case Z: {
        break;
    }
    default: {
        LOGGER.info("Code[{}] not supported.", code);
    }
}

Thursday, March 31, 2011

Payed by the number of coded lines?

switch (userChoice) {
case 1:
  ((VO) vo).setAne(new Integer(1));
  break;
case 2:
  ((VO) vo).setAne(new Integer(2));
  break;
case 3:
  ((VO) vo).setAne(new Integer(3));
  break;
default:
  break;
}

Tuesday, March 29, 2011

Abstract methods? what is that?

protected void initialize() {
    // do nothing here, it will be overridden in the subclasses
}

Tuesday, February 8, 2011

You can never be sure

if (true) {
    // ...
}

Thursday, January 27, 2011

We need to go deeper

String infoMessage = getInfoMessage();
screenInfoMessage = new String(infoMessage);
// ...
infoMessage = new String(screenInfoMessage);