La mia domanda riguarda this previous question, ma le soluzioni offerte non risolvono il problema che ho descritto di seguito. Dopo una ricerca su google, non ho trovato linee guida sullo stile del codice che affrontino il problema specifico dei condizionali lunghi in un'istruzione if come questa.Come indentare condizionali lunghi per le istruzioni "if"?
if(isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
O:
if(isNull(value1) || isToLong(value1) || hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
Il problema che ho con questi due stili è che rende difficile per il mio occhio per trovare il codice nel vero blocco e separarlo dal condizionali, oppure è troppo difficile per l'occhio determinare la riga successiva corretta dopo un lungo condizionale su una singola riga, specialmente se l'istruzione if è già rientrata di alcune schede all'interno di una funzione o di altre istruzioni if.
sarebbe preferibile fare qualcosa di simile:
if( isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
o sarebbe questo stile meglio per far rientrare ogni nuova condizione in uno dei seguenti modi:
if(isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
if(isNull(value1)
|| isToLong(value1)
|| hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
Qualcuno ha una codifica linea guida di stile (forse una politica di stile di codifica aziendale) che affronta questo problema in un modo diverso o migliore di quello che ho proposto? Quale è preferibile e puoi trovare qualche contro o pro per le soluzioni che ho menzionato?
Questa è l'unica cosa che mi punta allo scoperto-tutore-on-proprio-- camp linea. – DaveE
In realtà mi sono imbattuto in questa risposta perché è stata contrassegnata come di bassa qualità. Ma non riesco proprio a raccomandare la cancellazione. :) – helmbert