Ich habe festgestellt, dass es viele if-else-Anweisungen gibt, insbesondere verschachtelte if else-Anweisungen, diese Anweisungen machen meinen Code weniger lesbar. Wie reduziere ich die Anzahl der if else-Anweisungen in PHP?
Meine Tipps sind wie folgt: 1. Verwenden Sie eine switch-Anweisung, wenn es geeignet ist; 2.use exit () - Anweisung, wenn es machbar ist; 3. Verwenden Sie eine ternäre Anweisung, wenn dies machbar ist;
Gibt es andere Tipps, die if else-Anweisungen reduzieren können, insbesondere verschachtelte if-else-Anweisungen?
Refaktorieren Sie Ihren Code in kleinere Arbeitseinheiten. Zu viel bedingte Logik ist ein Code-Geruch und zeigt normalerweise an, dass Ihre Funktion refaktoriert werden muss.
Es gibt eine offizielle akademische Methode, um viele if
-Bedingungen, die Karnaugh Mapping genannt werden, zu refaktorieren und zu vereinfachen.
Es nimmt mehrere Testbedingungen an und versucht, bei der Erstellung vereinfachter if
-Anweisungen zu helfen, die alle erforderlichen Fälle abdecken.
Sie können mehr darüber im Wiki hier erfahren.
Benutze den ternären Operator, korrigiere deinen Code, schreibe eine Funktion oder eine Klasse, die alle notwendigen if else-Anweisungen erledigt.
Ich arbeite an einer Menge Code, der voller sich ständig weiterentwickelnder Geschäftslogik ist und jeden zweiten Tag geändert werden muss. Zwei Tipps, die mir geholfen haben, mit den Änderungen Schritt zu halten, sind: Vermeiden Sie alle anderen Anweisungen und kehren Sie so schnell wie möglich zurück. Niemals in tiefe Verschachtelung geraten - & gt; Unterroutinen / Funktionen erstellen.
Wenn Sie alle anderen Anweisungen durch negierte if-Anweisungen ersetzen, wird Ihr Code viel einfacher von oben nach unten gelesen (die Nähe der Bedingung und des Codeblocks):
%Vor%Zweitens, Rückkehr / Ausfahrt so bald wie möglich. Meine Meinung natürlich, aber ich sehe nicht den Sinn darin, irgendwelche zusätzlichen Bedingungen / Tests zu durchlaufen, wenn Sie das Ergebnis der Subroutine bereits bestimmt haben, besonders wenn Sie den Code von oben nach unten lesen möchten. Entfernen aller Mehrdeutigkeiten macht die Dinge einfacher.
Abschließend möchte ich vermeiden, besonders in langen Listen von BL zu verwenden. Kehren Sie zurück, sobald Sie das Ergebnis wissen. Wenn die Verschachtelungsebene größer als 2 ist, erstellen Sie Unterroutinen / Funktionen.
Tags und Links php nested if-statement readability