Ik had pas ook een leuke melding van een 'slimme' compiler

. Op een stream zitten een aantal objecten geserializeerd in XML. Ik wil de laatste uit deze stream hebben en de enige methode die ik tot mijn beschikking heb is readObject() die een exception gooit:
code:
1
2
3
4
5
6
7
8
| Object result;
try {
while(true) {
result = decoder.readObject();
}
} catch(SAXParseException exc) {
}
return result; |
Maar dat ging dus niet door

. De return was volgens e Java compiler een unreachable statement.... Boolean variabele introduceren loste het probleem op.
Over het algemeen is het wel een aardige regel om te probeen maar 1 return statement een methode te hebben. De 'standaard' variabele 'result' wordt op mogelijk verschillende plekken in de methode een waarde gegeven. Zo kan het nooit misgaan en het is ook wel een fraaie stijl van werken

.