Heim  >  Artikel  >  Backend-Entwicklung  >  Entdecken Sie ternäre Operatoren und Yoda-Bedingungen in WordPress-Codierungsstandards

Entdecken Sie ternäre Operatoren und Yoda-Bedingungen in WordPress-Codierungsstandards

WBOY
WBOYOriginal
2023-09-03 22:29:08559Durchsuche

探索 WordPress 编码标准中的三元运算符和 Yoda 条件

An diesem Punkt der Serie haben wir schon viel besprochen. Bisher haben wir folgende Themen behandelt:

  • Namenskonventionen und Funktionsparameter
  • Verwendung von einfachen und doppelten Anführungszeichen
  • Einrückung, Leerzeichennutzung und nachgestellte Leerzeichen
  • Braces-Stile, reguläre Ausdrücke und PHP-Tags

Eine Menge Zeug, oder?

In diesem speziellen Beitrag sollten wir meiner Meinung nach die Dinge etwas lockerer angehen, bevor wir zum letzten Thema kommen. Deshalb werden wir zwei sehr einfache Themen diskutieren (oft ignoriert oder übermäßig kompliziert).

Konkret sprechen wir über den ternären Operator und über Yoda-Bedingungen.


Ein Wort zu den WordPress-Bedingungen

Beim Schreiben von WordPress-basiertem Code schreiben die Codierungsstandards strikt vor, dass wir zuerst die Lesbarkeit anstreben sollten. Direkt aus dem Codex:

Generell ist Lesbarkeit wichtiger als Cleverness oder Prägnanz.

Aber es gibt einige Nuancen. Einige Entwickler sind der Meinung, dass der ternäre Operator mit diesem bestimmten Prinzip etwas unvereinbar ist, insbesondere weil es eine andere Art ist, if/else-Anweisungen zu schreiben, und wenn der Entwickler nicht mit dem Schreiben oder Lesen des ternären Operators vertraut ist, verstößt dies gegen dieses Prinzip.

Wir werden später ausführlicher darauf eingehen.


Ternärer Operator

Zuallererst für diejenigen, die es nicht kennen: Der ternäre Operator ist eine vereinfachte Art, bedingte Anweisungen zu schreiben. Wird normalerweise if/else 条件语句的简化方法。通常当条件是最简单的形式时以及当存在单个 if 和单个 else nur

verwendet, wenn die Bedingung in ihrer einfachsten Form vorliegt und

nur

wenn es einen einzelnen if- und einen einzelnen else-Block gibt.

Angenommen, wir haben eine Erkrankung wie diese:

$uses_gasoline = null;

if ( 'hybrid' == $car_type ) {
	$uses_gasoline = false;
} else {
	$uses_gasoline = true;
}

echo $uses_gasoline;

Natürlich ist das ein etwas konstruiertes Beispiel, aber Sie verstehen, worum es geht. Schließlich möchte ich nur demonstrieren, wie man eine solche Bedingung mithilfe des ternären Operators in eine Form umwandelt.

Basierend auf dem obigen Beispiel können Sie Folgendes tun:

$uses_gasoline = 'hybrid' == $car_type ? false : true;
echo $uses_gasoline;

Macht es Sinn? Eine wichtige Sache ist zu beachten: Der ternäre Operator testet auf wahr (natürlich nicht auf falsch).

Was es wert ist, für mich kommt es dem Lesen eines Satzes sehr nahe. Der erste Satz stellt eine Frage (offensichtlich mit einem Fragezeichen unterbrochen) und gibt zwei mögliche Antworten basierend auf einer bedingten Bewertung zurück.

Es gibt eine Warnung

, um zu überprüfen, ob alles, was im Kodex aufgezeichnet ist, wahr ist: 是一个例外! empty()

Verwenden Sie

, da das Testen auf „falsch“ hier normalerweise intuitiver ist.

Meiner Erfahrung nach ist dies das einzige Mal, dass eine negative Bewertung in einer bedingten Anweisung verwendet wird. In all meiner Zeit, in der ich den Ternäroperator verwendet habe, habe ich festgestellt, dass das Testen auf Falschheit die Entschlüsselung ternärer Berechnungen oft erschwert.

Außerdem finde ich es besser, eine Bewertung,

vielleicht zwei Bewertungen in einem sehr einfachen, klaren Kontext bereitzustellen.

Darüber hinaus
so verwenden Sie den ternären Operator in Ihrer täglichen WordPress-Arbeit

Yoda-Bedingungen

Wenn Sie genau hinschauen, werden Sie feststellen, dass ich etwas mache, was die meisten Programmiersprachen (sogar PHP-basierte Plattformen außerhalb von WordPress) normalerweise nicht tun: Der Vergleich der Bedingungen erfolgt durch Vergleich des Werts mit der Variablen

nicht

umgekehrt.

Traditionell würden wir so etwas sehen:

$uses_gasoline = null;

if ( $car_type == 'hybrid' ) {
	$uses_gasoline = false;
} else {
	$uses_gasoline = true;
}

echo $uses_gasoline;

Der entsprechende ternäre Operator sieht so aus:

$uses_gasoline = $car_type == 'hybrid' ? false : true;
echo $uses_gasoline;
Wenn die meisten Programmiersprachen und Plattformen

keine

Yoda-Bedingungen verwenden, warum sollte dann WordPress?

Laut Codex Alimentarius:

true。如果该语句是相反的 ( $the_force = true ),则该赋值将完全有效,返回 1,导致 if 语句的计算结果为 true

Wenn Sie im obigen Beispiel ein Gleichheitszeichen weglassen (geben Sie es zu, das passiert selbst den erfahrensten von uns), erhalten Sie einen Parse-Fehler, weil Sie nichts wie eine solche Konstante zuweisen können
und Sie könnten jagen stattdessen diesen Fehler.

Meiner Meinung nach ist dies eine sehr, sehr gute Erklärung für die Durchführung solcher Vergleiche,

besonders

in dynamisch typisierten Sprachen wie PHP und JavaScript.

Ob Sie mit diesem Ansatz einverstanden sind oder nicht, er ist Teil des Standards und wird durch den WordPress-Kern, Themes, Plugins, Artikel und mehr umgesetzt.


Aus diesem Grund empfehle ich Ihnen dringend, mit der Umsetzung in Ihrer eigenen Arbeit zu beginnen.

Fazit

Wie ich zu Beginn erwähnt habe, wird dieser spezielle Artikel einfacher und unkomplizierter sein als einige der anderen Materialien, die wir bisher in dieser Serie behandelt haben.

An diesem Punkt müssen wir nur noch ein großes Thema besprechen: Datenbankabfragen.

Anschließend gehen wir alle in dieser Reihe behandelten Themen durch, um die Prinzipien zusammenzufassen, die wir in unseren Codierungsstandards detailliert beschreiben.

🎜Aber zuerst wollen wir Datenbankabfragen besprechen. 🎜

Das obige ist der detaillierte Inhalt vonEntdecken Sie ternäre Operatoren und Yoda-Bedingungen in WordPress-Codierungsstandards. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn