Hvordan Inverter en If erklæring for å redusere Nesting

"If-Else" uttalelser er ganske vanlig i de fleste programmeringsspråk. I sin enkleste form, en "If-Else" code uttalelsen bare forteller datamaskinen hvis en bestemt betingelse eksisterer, og deretter utføre en bestemt handling eller funksjon, eller gjøre noe annet hvis en annen tilstand eksisterer. Overdreven bruk av "If-Else" uttalelser ofte fører til altfor kompleks kode og hekkende. Nesting oppstår når du har flere forhold som kan være til stede, og en datamaskin må utføre en eller flere funksjoner som er mulig basert på tilstanden oppstått. Når mange forhold eller baner er mulig, er det en god ide å bruke refactoring, eller "If-Else" inversjon, for å prøve å redusere antall "If-Else" stier.

Bruksanvisning

1 Start din kode redigeringsprogram. Åpne kodefilen som inneholder nestede "If-Else" uttalelser du ønsker å snu eller Refactor.

2 Bla til det punktet i kildekoden som inneholder "If-Else" statement klausuler.

3 Finn ut om vakt klausuler kan forenkle nestede betingede "If-Else" uttalelser. Guard klausuler forenkle kode og redusere antall potensielle stop feil under utføring. For eksempel, her er et eksempel på Visual Basic-kode som inneholder altfor komplisert kode som kan dra nytte av inversjon eller refactoring med vakt klausuler:

dobbel getPaymentAmount () {

double result;

if (_isSingle) resultat = singleAmount ();

else {

if (_isMarried) resultat = marriedAmount ();

else {

if (_isDivorced) resultat = divorcedAmount ();

annet resultat = normalPaymentAmount ();

};

}

returnere resultat;

};

4 Snu eller refactor koden for å forenkle og redusere potensielle stopp feil. Unngå flere hekkeforhold ved å fjerne "annet" komponent helt og erstatte den med "resultatet" statement kommandoen. Gjennomgå følgende endringer i den opprinnelige koden:

dobbel getPaymentAmount () {

if (_isSingle) return singleAmount();

if (_isMarried) retur marriedAmount ();

if (_isDivorced) retur divorcedAmount ();

tilbake normalPaymentAmount ();

};

"Avkastningen" statement kommandoen ikke stoppe kjøring av kode når forholdene ikke eksisterer; Derfor driver koden uavbrutt inntil en gyldig tilstand er funnet. Resultatet er mye renere kode som kjører raskere med færre potensielle feil.