Come invertire un'istruzione IF per ridurre Nesting

January 17

"If-else" dichiarazioni sono abbastanza comuni nella maggior parte dei linguaggi di programmazione. Nella sua forma più semplice, una dichiarazione di codice "if-else" dice semplicemente il computer se esiste una certa condizione, quindi eseguire una certa azione o di una funzione o di fare qualcosa di diverso, se esiste un'altra condizione. L'uso eccessivo di istruzioni "if-else" spesso porta a codice eccessivamente complesso e la nidificazione. Nesting si verifica quando si dispone di più le condizioni che potrebbero essere presenti, e un computer deve eseguire una o più funzioni che sono possibili in base alla condizione incontrata. Quando sono possibili molte condizioni o percorsi, è una buona idea usare refactoring, o inversione "if-else", per cercare di ridurre il numero di percorsi "if-else".

istruzione

1 Avviare l'applicazione editor di codice. Aprire il file di codice che contiene le istruzioni nidificate "if-else" che si desidera invertire o refactoring.

2 Scorrere fino al punto nel codice sorgente che contiene le "if-else" clausole di dichiarazione.

3 Determinare se le clausole di guardia in grado di semplificare le istruzioni nidificate condizionale "if-else". clausole Guardia semplificare il codice e ridurre il numero di potenziali errori di arresto durante l'esecuzione. Ad esempio, ecco un esempio di codice Visual Basic che contiene il codice eccessivamente complicati che possono beneficiare di inversione o refactoring con clausole di guardia:

doppia getPaymentAmount () {

double result;

if (_isSingle) result = singleAmount ();

altro {

if (_isMarried) result = marriedAmount ();

altro {

if (_isDivorced) result = divorcedAmount ();

altro risultato = normalPaymentAmount ();

};

}

risultato tornare;

};

4 Invertire o refactoring del codice di semplificare e ridurre i potenziali errori di arresto. Evitare di più condizioni di nidificazione, eliminando la componente "altro" del tutto e la sua sostituzione con il comando economico "risultato". Rivedere le seguenti modifiche al codice originale:

doppia getPaymentAmount () {

if (_isSingle) return singleAmount();

if (_isMarried) ritorno marriedAmount ();

if (_isDivorced) divorcedAmount ritorno ();

tornare normalPaymentAmount ();

};

Il comando dichiarazione "ritorno" non fermare l'esecuzione di codice in cui non esistono le condizioni; Pertanto, il codice viene eseguito senza interruzioni fino a trovare una condizione valida. Il risultato è un codice più pulito tanto che corre più veloce con meno errori possibili.