Facendo un controllo di appartenenza su un contenitore e avendo più ifs?

0

Cosa c'è di meglio?

if ("a".equals(x) || "b".equals(x)) {
    //do something
}

vs

private static List<String> validAlphabets = ImmutableList.of("a", "b");
if (validAlphabets.contains(x)) {
    //do something
}

L'esempio di codice sopra riportato è Java, ma questo vale per qualsiasi linguaggio di programmazione.

Un approccio è migliore dell'altro?

Un altro caso sarebbe il seguente:

if ("a".equals(x)) {
    return "hello a";
}
else if ("b".equals(x)) {
    return "bye b";
}

Questo può essere scritto come Map<String,String>

    
posta rents 04.09.2018 - 18:32
fonte

1 risposta

2

Vorrei discutere per il secondo approccio, per i seguenti motivi:

  1. C'è meno possibilità di commettere un errore se è necessario aggiungere o rimuovere elementi dall'elenco in futuro.
  2. Essere in grado di nominare la variabile ( validAlphabets nel tuo caso) ti offre una preziosa opportunità per rendere il tuo codice un po 'più auto-documentante.
risposta data 04.09.2018 - 18:54
fonte

Leggi altre domande sui tag