In termini di leggibilità, si desidera mantenere le condizioni nelle istruzioni if..else
sia mutuamente esclusive che collettivamente esaurienti . In altre parole, ogni test dovrebbe corrispondere a 1 e solo a 1 condizione.
Se disponi di condizioni non correlate (ad esempio, "numero di membri" e "redditività"), non vuoi contaminarle con &&
inserendole insieme. Pertanto, nella maggior parte dei casi, è meglio avere nidificati blocchi if..else
.
if (members <= 100) {
if (nonProfit) {
// ...
} else if (notForProfit) {
// ...
} else {
// ...
}
} else if (100 < members && members <= 1000) {
if (profitable) {
// ...
} else {
// ...
}
} else {
// ...
}
Con strutture condizionali più rigide (ad es., ripetendo blocchi if..else
), probabilmente stai meglio usando ricerche oggetto . Non solo le ricerche di oggetti sono più veloci, ma sono molto più leggibili e più facili da capire a mio parere. Sono meno flessibili di if..else
, che può essere vantaggioso o svantaggioso in base alle tue esigenze.