Geschmacksfrage: Was ist schöner?

Status
Nicht offen für weitere Antworten.

Evolver

Bekanntes Mitglied
Ich habe mir ein paar (nicht viele) Gedanken über das Zusammenfassen von ifs gemacht und frage mich, was ihr schöner findet. Es geht darum, dass ich zwei Bedingungen habe, die beide zu dem gleichen Ergebnis führen.
Code:
// 1. Möglichkeit
if(Bed1) Aktion;
if(Bed2) Aktion;

// 2. Möglichkeit
if(Bed1 || Bed2) Aktion;
Nun ist es eben so, dass die beiden Bedingungen garnichts miteinander zu tun haben. Deswegen hatte ich das Gefühl, die "thematische" Trennnung (vgl. 1. Möglichkeit) sei "schöner". Was meint ihr dazu?
 
G

Guest

Gast
3.)
Code:
if(bed1 || bed2) 
{
   aktion();
}
 

byte

Top Contributor
Ich machs meistens so: Wenn es triviale Prüfungen sind und die beiden Bedingungen inhaltlich zusammengehören, dann 2. Behandeln die Bedingungen aber grundverschiedene Sachen, dann 1. Wenn die Vermutung nahe liegt, dass sich an der Abfrage später noch was ändert, dann setze ich die Klammern gleich.
 

Der Müde Joe

Top Contributor
hum?

1. Möglichkeit:

bei true/true = 2 mal Aktion

2.Möglichkkeit:

bei true/true = 1 mal Aktion

..oder hab ich was überlesen...?
 

hupfdule

Top Contributor
Evolver hat gesagt.:
Bei mir handelt es sich aber um ein return.
Das ist ein nicht unwichtiger Hinweis. Wenn es an dieser Stelle darum geht, die Methode nicht auszuführen, weil ein paar Bedingungen zutreffen/nicht zutreffen, dann finde ich Variante 1 geschickter. Insbesondere, wenn viele Prüfungen gemacht werden müssen.
 

NTB

Bekanntes Mitglied
was hat das denn mit der menge der prüfungen zu tun?

bei "if(bed1 || bed2)" wird doch auch nicht mehr geprüft, als wenn die untereinander stehen.
oder war damit was anderes gemeint?
 

AlArenal

Top Contributor
Wenn sie getrennt (untereinander) stehen, werden in jedem Fall beide Ausdrücke ausgewertet. Benutzt man "||" wird in diesem Fall die Auswertung bereits abgebrochen wenn der erste Ausdruck wahr ist.
 

hupfdule

Top Contributor
NTB hat gesagt.:
was hat das denn mit der menge der prüfungen zu tun?

bei "if(bed1 || bed2)" wird doch auch nicht mehr geprüft, als wenn die untereinander stehen.
oder war damit was anderes gemeint?

Ja, war anders gemeint.
Wenn ich in einer Methode mehrere Prüfungen mache, die entscheiden, ob die Methode fortgeführt werden soll, so finde ich es weitaus angenehmer, diese Prüfungen losgelöst voneinander vorzunehmen.
Es geht mir hier um Lesbarkeit, nicht um Performance.
 

merlin2

Top Contributor
AlArenal hat gesagt.:
Wenn sie getrennt (untereinander) stehen, werden in jedem Fall beide Ausdrücke ausgewertet. Benutzt man "||" wird in diesem Fall die Auswertung bereits abgebrochen wenn der erste Ausdruck wahr ist.
Dann nimmt man eben "|" :bae:.

Mir ist es wichtig, dass nicht zwei Bedingungen für die selbe Aktion zuständig sind, selbst wenn die Aktion ein return ist oder die Bedingungen mit else getrennt sind.
 
G

Guest

Gast
Also wenn es jetzt, wie bei dir darum geht eine Methode nicht auszuführen, dann würde ich, für meinen Teil, die zweite Möglichkeit nehmen. Auch wenn die Prüfungen vielleicht unterschiedlich sind haben sie am Ende ja nur EINEN gemeinsamen Zweck, sie sollen festlegen ob der Code weiter ausgeführt werden soll, oder mit return zurück gesprungen werden soll. Was die Prüfungen dabei genau machen ist (finde ich halt) eine ganz andere Sache.[/code]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben