Verwenden von if ... else ... oder nur if ... um zu bestimmen, was zurückgegeben wird

7

Was ist besser?

%Vor%

oder

%Vor%

Effektiv machen sie das Gleiche. Wenn $val nicht 'a' ist, gibt die Funktion false zurück. Nur persönliche Vorliebe?

    
Nathan Loding 12.06.2010, 21:16
quelle

9 Antworten

7

Ich denke, es kommt darauf an, wie der Vergleich zu Ihnen "fühlt". Ich würde die erste verwenden, wenn es so aussähe, dass $ val "a" ein Sonderfall wäre und die Funktion normalerweise falsch zurückgegeben würde. Ich würde das zweite verwenden, wenn es sich eher so anfühlte, als wäre es 50/50, wie es gehen würde.

    
Ned Batchelder 12.06.2010, 21:19
quelle
22

Sie sind gleich. Für diesen Fall bevorzuge ich jedoch:

%Vor%     
Flavius Stef 12.06.2010 21:18
quelle
9

Über diese bevorzuge ich die zweite zur besseren Übersicht. Allerdings bevorzuge ich eigentlich

%Vor%     
alternative 12.06.2010 21:19
quelle
3

Wenn in PHP in einer Funktion nichts getan wird und das Ende erreicht wird, ist es so, als ob es false zurückgibt. Aus diesem Grund ist es nie notwendig, false zurückzugeben, wenn nichts anderes innerhalb der Funktion ausgeführt werden soll. Das lässt uns folgendes:

%Vor%

Wenn nach einer if, elseif oder else-Anweisung nur ein Befehl vorhanden ist, sind die geschweiften Klammern ("{" "}") nicht notwendig, was uns dazu bringt:

%Vor%

In PHP können Sie tatsächlich einen Vergleich zurückgeben, der direkt vor der Rückgabe ausgeführt wird. Dies ist, was einige der anderen, die diesen Beitrag beantwortet haben, vorgeschlagen haben. Tun Sie dies, lassen Sie uns diesen Code:

%Vor%

True wird zurückgegeben, wenn der Block "($ val == 'a')" wahr ist, andernfalls wird false zurückgegeben, da es nicht wahr ist. Logik.

Ich neige dazu, die zweite Konvention, die ich vorstellte, zu verwenden, nur aus Gewohnheit. Wenn ich die Schönheit der Einfachheit der dritten von den anderen präsentierten sehe, werde ich wahrscheinlich zu dieser wechseln, falls anwendbar.

BEARBEITEN:

Wenn Sie Code schreiben möchten, der für Nicht-PHP-Experten einfacher zu verstehen ist, könnte eine andere Alternative die folgende sein:

%Vor%

Ich würde sagen, dass die Verwendung der geschweiften Klammern unter den Umständen, wie in meinem zweiten Beispiel beschrieben, Ihnen leichter lesbaren Code bietet, da die geschweiften Klammern dazu neigen, Ihren Code unordentlich zu machen, wenn sie nicht mehrere Zeilen enthalten / p>     

Emanuel 12.06.2010 22:42
quelle
2

Ich glaube wirklich, dass es das ist, was Sie jemals für den Code vermitteln wollten. Wenn Sie sich das ansehen:

%Vor%

Sie können sehen, dass es dasselbe wie Ihre Beispiele tut, aber es hat eine andere Absicht. Für dieses Beispiel wäre es wirklich sinnlos zu haben:

%Vor%

Ich denke, @Ned hatte es, weil er versucht, eine Absicht für die Operation if zu vermitteln.

    
Gutzofter 13.06.2010 06:55
quelle
1

Wenn Sie boolean nicht zurückgeben würden, würde ich das erste Formular wählen. In diesem Fall würde ich einfach tun:

%Vor%

wie andere vorgeschlagen haben.

    
fastcodejava 13.06.2010 07:05
quelle
0

Ich würde bei der ersten bleiben, je einfacher der Code (und einfacher zu lesen), desto besser.

    
Federico Cristina 12.06.2010 21:18
quelle
0

Während Sie den zweiten Codeblock lesen. Sie können leicht verstehen, dass es false zurückgibt, wenn val nicht gleich 'a' ist.

Aber beim ersten Codeblock ist es ein bisschen schwer zu verstehen, wenn es falsch zurückgibt. Es ist nicht so schwer in diesem Beispiel, aber ich nehme an, dass Ihre if-Klauseln nicht so einfach sein werden.

    
Ahmet Kakıcı 12.06.2010 21:21
quelle
0

Statt:

%Vor%

Der folgende Ansatz ist besser, es gibt keinen zusätzlichen Aufwand von else und der Code ist auch kurz:

%Vor%

Es könnte noch kürzer gemacht werden:

%Vor%     
Sarfraz 13.06.2010 07:01
quelle

Tags und Links