Nwlapcug.com


Come invertire un If istruzione per ridurre la nidificazione

Istruzioni "If-Else" sono abbastanza comuni nella maggior parte dei linguaggi di programmazione. Nella sua forma più semplice, un'istruzione di codice "If-Else" dice semplicemente il computer se una certa condizione esiste, quindi eseguire un'azione o una funzione o fare qualcos'altro se esiste un'altra condizione. L'uso eccessivo di istruzioni "If-Else" conduce spesso alla nidificazione e codice eccessivamente complesso. Nidificazione si verifica quando si dispone di più condizioni che potrebbero essere presenti, e un computer deve eseguire una o più funzioni che sono possibili basano sulla condizione rilevata. Quando molte condizioni o percorsi sono possibili, è una buona idea utilizzare inversione del refactoring, o "If-Else", per cercare di ridurre il numero di percorsi "If-Else".

Istruzioni

1

Lanciare l'applicazione editor di codice. Aprire il file di codice che contiene le istruzioni nidificate "If-Else" si desidera invertire o il refactoring.

2

Selezionare il punto nel codice sorgente che contiene le clausole di istruzione "If-Else".

3

Determinare se le clausole di protezione possono semplificare le istruzioni condizionali annidati "If-Else". Clausole di protezione codice di semplificare e riducono il numero di potenziali errori di stop durante l'esecuzione. Ad esempio, ecco un esempio di codice di Visual Basic che contengono codice eccessivamente complicati che possa beneficiare di inversione o di refactoring con clausole di protezione:

Double getPaymentAmount() () {

double result;

if (_isSingle) result = singleAmount();

else {

if (_isMarried) result = marriedAmount();

else {

if (_isDivorced) result = divorcedAmount();

else result = normalPaymentAmount();

};

}

restituire il risultato;

};

4

Invertire o il refactoring del codice per semplificare e ridurre i potenziali errori di stop. Evitare condizioni di nidificazione più rimuovendo il componente "else" complessivamente e sostituendolo con il comando di istruzione di "risultato". Rivedere le modifiche seguenti al codice originale:

Double getPaymentAmount() () {

if (_isSingle) return singleAmount();

if (_isMarried) return marriedAmount();

if (_isDivorced) return divorcedAmount();

return normalPaymentAmount();

};

Il comando di istruzione "return" non interrompere l'esecuzione di codice quando non esistono condizioni; Pertanto, il codice viene eseguito senza interruzioni fino a quando non viene trovata una condizione valida. Il risultato è molto più pulito codice che viene eseguito più velocemente con meno errori possibili.