" if-else " udsagn er ganske almindelige i de fleste programmeringssprog. I sin enkleste form , simpelthen en "hvis - Else " code erklæring fortæller computeren , hvis en bestemt tilstand eksisterer , derefter udføre en bestemt handling eller funktion, eller gøre noget andet , hvis en anden tilstand eksisterer . Overdreven brug af " if-else " udsagn ofte fører til alt for kompliceret kode og nesting . Nesting opstår, når du har flere forhold, der kan være til stede, og en computer , skal udføre en eller flere funktioner, der er mulige på grundlag af stødt tilstand. Når mange betingelser eller stier er muligt, er det en god ide at bruge refactoring eller " If- Else " inversion , at forsøge at reducere antallet af " if-else " stier. Ting du skal
Code eller redaktør ansøgning
Vis Flere Instruktioner
1
Start din kode editor ansøgning. Åbn den kode fil, der indeholder det indlejrede " If- Else " udsagn , du ønsker at vende eller refactor .
2
Rul til det punkt i kildekoden , der indeholder de " if-else " erklæring klausuler.
3
Undersøg, om vagt klausuler kan forenkle de indlejrede betingede " if-else " udsagn . Guard klausuler forenkle kode og reducere antallet af potentielle stop- fejl under udførelsen. For eksempel er her et eksempel på Visual Basic-kode , der indeholder alt for kompliceret kode, der kan drage nytte af inversion eller refactoring med vagt klausuler : Hej
dobbelt getPaymentAmount () {
dobbelt resultat
< p> if ( _isSingle ) result = singleAmount ();
else {
if ( _isMarried ) result = marriedAmount ();
else {
if ( _isDivorced ) result = divorcedAmount ();
ellers resultere = normalPaymentAmount ();
};
}
tilbagevenden resultat
};
4
Invert eller refactor koden til at forenkle og mindske potentielle stop- fejl. Undgå flere rugende vilkår ved at fjerne " else" komponent helt og erstatte det med "resultat " erklæring kommando. Gennemgå følgende ændringer til den oprindelige kode :
dobbelt getPaymentAmount () {
if ( _isSingle ) return singleAmount ();
if ( _isMarried ) return marriedAmount ();
if ( _isDivorced ) return divorcedAmount ();
afkast normalPaymentAmount ();
};
"return " erklæring kommandoen ikke standse kode udførelse, når betingelserne ikke eksisterer , og derfor koden kører uafbrudt , indtil et gyldigt tilstand er fundet. Resultatet er meget renere kode, der kører hurtigere med færre potentielle fejl .