Quando Apache ha pubblicato l'elenco delle best practice , hanno raccomandato di evitare l'aggiunta di un pannello vuoto in modo condizionale e hanno fornito il seguente esempio di cosa NON fare:
if(MySession.get().isNotLoggedIn()) {
add(new LoginBoxPanel("login"))
}
else {
add(new EmptyPanel("login"))
}
Tuttavia, vedo un sacco di questo tipo di codice quando eseguo il peer review, tranne per il fatto che la seconda condizione di solito assomiglia a questo:
add(new EmptyPanel("login")).setVisible(false);
I programmatori giustificano il codice in questo modo dicendo che non vogliono costruire il componente originale se non lo visualizzeranno. Mi sembra un argomento logico. Qualcuno può spiegare cosa ci manca e perché questa è una cattiva pratica?