9 Stimmen

Single-Entry/Single-Exit-Regel

Ich habe irgendwo eine Regel dazu gelesen:

Befolgen Sie die Regel des einmaligen Zutritts und des einmaligen Austritts. Schreiben Sie niemals mehrere Return-Anweisungen in dieselbe Funktion.

Stimmt diese Aussage? Wenn ja, könnten Sie bitte genauer erläutern, warum wir diese Regel befolgen sollten?

-2voto

mark Punkte 5204

Ich persönlich bin nicht gegen einen vorzeitigen Ausstieg, aber ich schlage SingerOfTheFall eine dritte Alternative zur Prüfung vor.

Vorteile:

  • normaler Codefluss (d.h. nicht fehlerhaft) fließt sauber durch den oberen Teil des Codes
  • keine Möglichkeit, bei einem "Etwas" durchzufallen und ein anderes zu bestehen "etwas" führt versehentlich einen Codeblock aus
  • Sie können den Geltungsbereich von Codeblöcken erzwingen, einschließlich der Aufräumarbeiten beim Verlassen des Geltungsbereichs für Dinge, die in Unterblöcken von Code verwendet werden

Nachteil:

  • Einrückungen können sich summieren (dies kann jedoch durch Aufteilung in in Unterfunktionen)
  • ohne die Klammerübereinstimmung in Ihrem Editor kann es schwierig sein, den Fehler mit der fehlgeschlagenen Bedingung abzugleichen

    int foo() { int errorCode = 0; if(!something) { //100 lines of code if(!something) { //100 lines of code if(!something) { //100 lines of code } else { errorCode = -1; } } else { errorCode = 11; } } else { errorCode = 1; } return errorCode; }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X