[SWIFT] Ich bin immer noch erschöpft von überflüssigen if-Anweisungen! ?? Schreiben Sie die if-Anweisung so

Guten Morgen. Ich war an einer Krankheit gestorben und erholte mich mit EVE Ich werde einen Artikel schreiben.

Die Syntax enthält eine "if-Anweisung", die für die Programmierung unverzichtbar ist. Schreiben Sie überflüssig? Lass uns zurückblicken. Beim Refactoring, Beachten Sie, dass es eine if-Anweisung gibt, die intelligenter geschrieben werden kann Gibt es nicht mehrmals?

Jetzt möchte ich redundante Muster und intelligente Muster einführen.

true == true Dies ist eine Bedingung, die Anfänger tendenziell tun. In der if-Anweisung ist das Urteil standardmäßig wahr / falsch. Wenn Sie also == true schreiben true == true == true Es wird eine Bedeutung haben wie. Natürlich möchte ich schreiben, wenn true {}.

if true {
}

nicht anders verwenden

if 100 >= 50 {
} else if 100 < 50 {
}
>>
if 100 >= 50 {
} else {
}

Es ist ziemlich einfach zu beschreiben, aber wenn es um komplizierte Bedingungen geht Ich sehe einige if-Anweisungen mit ähnlichen Beschreibungen.

Beispiel für einen bedingten Ausdruck

Neun Bälle mit nur einem schweren Gewicht, Wie kann ich am wenigsten herausfinden, wann ich es durch Wiegen herausfinden möchte? Sie können es zweimal erzählen, aber wie oft haben Sie es getan?

if left(3) > right(3) {
  if left(1) > right(1) {
    //Unterscheidbar
  }
} else {
  if left(1) > right(1) {
    //Unterscheidbar
  }
}

Die Motivation hier ist, Sie denken zu lassen, dass ** alles im bedingten Ausdruck enthalten sein muss . Neun Bälle müssen nicht alle gewogen werden. "Drei links anziehen" "Drei rechts anziehen" " Drei nicht setzen **" Tatsächlich ist die Existenz dieser drei Dinge, die nicht angelegt werden können, wichtig für das Schreiben intelligenter bedingter Ausdrücke. Es kann als Vergleichsziel identifiziert werden, ohne es zu wiegen.

Wagen Sie es nicht, wenn

Für Muster, die sonst nicht verwenden, wenn ・ Wenn Sie die Lesbarkeit verbessern möchten ・ Wenn Sie einfach else verwenden, wenn ein bedingter Ausdruck nicht gut ist es gibt.

Wenn Sie die Lesbarkeit verbessern möchten

if A == A {
} else if B == B {
}
>>
if A == A {
} else {
  if B == B {
  }
}

Ich konnte mir kein passendes Muster vorstellen, In einigen Fällen ist es möglicherweise einfacher, eine if-Anweisung in else als in else if zu schreiben.

Wenn sonst, wenn einfach nicht als bedingter Ausdruck verwendet werden kann

//Beim Spielen von AorBorC
if A == A {
} else if B == B {
}
>> //Kann C nicht fangen
if A == A {
} else {
  if B == B {
    //Verarbeitung, die Sie nur zu B hinzufügen möchten
  }
  //Gemeinsame Verarbeitung
}

Schreiben Sie den Inhalt von else nicht mit if

if A == A {
}
if B == B {
}
if C == C {
}

Wenn Sie AorBorC spielen, wird nicht empfohlen, 3 ifs wie dieses zu schreiben. Der Grund ist **, weil zusätzliche Verarbeitung ausgeführt wird **. Wenn Sie andere Bedingungen in die else-Anweisung schreiben, wird die nachfolgende Verarbeitung nicht ausgeführt, wenn eine Übereinstimmung hergestellt wird. Indem Sie jedoch die if-Anweisung unabhängig machen, selbst wenn die Lesbarkeit verbessert wird. ** Leistung ** wird sinken. Ich möchte nicht, dass der Computer eine zusätzliche Verarbeitung durchführt.

abschließend

Was haben Sie gedacht? Von diesen wollte ich, dass Sie am meisten einbeziehen ** Beispiel für einen bedingten Gewichtsausdruck ** ist. Wenn Sie dies beherrschen, ist der bedingte Ausdruck ziemlich intelligent. Ich bin froh, wenn Sie es als Referenz verwenden können.

Recommended Posts

Ich bin immer noch erschöpft von überflüssigen if-Anweisungen! ?? Schreiben Sie die if-Anweisung so
Wie schreibe ich eine if-Anweisung, um die Lesbarkeit von Java zu verbessern?
[Ruby] Problem mit der if-Anweisung