È una cosa di stile. La performance non è rilevante; entrambi producono codice macchina quasi identico.
alcune considerazioni sullo stile:
Se si vuole evitare di 'programmazione orizzontale', si potrebbe desiderare di preferire B per evitare condizioni nidificate. Ad esempio, se si desidera aggiungere eccezioni senza influenzare il flusso del metodo troppo:
A:
public String getDescription(MyObject obj) {
if (obj == null) {
return "";
} else {
if (!obj.isValid()) {
return "invalid";
} else {
...
}
}
}
B:
public String getDescription(MyObject obj) {
if (obj == null) {
return "";
}
if (!obj.isValid()) {
return "invalid";
}
....
}
Ma la differenza è minima se mi chiedete. Sicuramente non vale una "guerra stile codice".
fonte
2012-02-13 20:49:31
Hai misurato questo? Cosa hai trovato? – Steven
È una cosa di stile. La performance non è rilevante; entrambi producono codice macchina quasi identico. Se vuoi evitare la 'programmazione orizzontale', potresti preferire B per evitare condizioni nidificate. –
Controlla http://jsperf.com/ quando hai domande come questa. Sito molto utile! – mrtsherman