Hämmer Geschrieben 4. März 2019 Melden Share Geschrieben 4. März 2019 Hallo, Ich hab da mal eine grundsätzliche Frage. Was ist besser? schöner Code oder Kurzer Code? also z.B. if(X==Y) { print("wahr"); } else { print("falsch"); } oder lieber: X == Y ? print("wahr") : print("falsch"); Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
KaBau Geschrieben 4. März 2019 Melden Share Geschrieben 4. März 2019 Ich finde den schönen Code besser. Dort kann ich besser verfolgen, was der Code machen soll. Den kurzen Code kann vielleicht nicht jeder hier lesen, um zu helfen. Konkret: ohne den langen Code hätte ich nun den kurzen Code nicht als if / else erkannt (auch wenn ich in einm Tutorial mal gesehen habe, dass man Code so kürzen kann). Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
runner78 Geschrieben 4. März 2019 Melden Share Geschrieben 4. März 2019 Das kommt ein wenig auf den Kontext an, beim oberen Beispiel würde ich den langen code bevorzugen. Ich benutze die kurze Schreibweise des öfteren beim zuweisen von Variablen mit default-Werten. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 4. März 2019 Melden Share Geschrieben 4. März 2019 Richtig, es gibt da kein absolutes Maß. Ist von Fall zu Fall unterschiedlich. Gerade, wenn man in diesem Fall bedenkt, dass auch print(X == Y ? "wahr" : "falsch"); geht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Lightstorm Geschrieben 4. März 2019 Melden Share Geschrieben 4. März 2019 Wenn in den Klammern nur eine Zeile Code nötig ist mache ich es meistens so: if (X == Y) print("wahr") else print("falsch") Wichtig ist zu wissen das ohne Klammern nur eine Zeile von der if Bedingung abhängt. Wenn man den Code also später erweitert und noch eine Zeile einfügt muss man die Klammern wieder hinzufügen. Folgendes geht also nicht: if (X == Y) print("wahr") print("wirklich wahr") else print("falsch") Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 5. März 2019 Melden Share Geschrieben 5. März 2019 Ich mach das nie so. Ich mag Konsistenz. Möglichst wenige Regeln, möglichst wenige Ausnahmen. Je mehr verschiedene Herangehensweisen es für quasi dieselbe Situaion gibt, desto weniger einfach ist der Code zu lesen. Deswegen halte ich 90% aller C#-Sprachupdates auf für großen Käse... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
runner78 Geschrieben 5. März 2019 Melden Share Geschrieben 5. März 2019 Ich lasse bei if Anweisungen fast nie die Klammern weg, ich finde das tatsächlich oft weniger lesbar. Einzig bei reinen Einzeiler mach ich das manchmal methode() { if (istWahr) return; } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 5. März 2019 Melden Share Geschrieben 5. März 2019 Early Outs sind bei mir auch die einzige Ausnahme, bei der if-Abfragen keine geschweiften Klammern kriegen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Lightstorm Geschrieben 5. März 2019 Melden Share Geschrieben 5. März 2019 Ich mag es nicht wenn verhältnismäßig viele Leerräume entstehen und ich viel scrollen muss um den Code zu lesen. Etwa in Situationen wo man dann mehrere If Abfragen hintereinander ausführt um jedes mal dabei nur eine Zeile Code auszuführen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 5. März 2019 Melden Share Geschrieben 5. März 2019 vor 6 Minuten schrieb Lightstorm: Ich mag es nicht wenn verhältnismäßig viele Leerräume entstehen und ich viel scrollen muss um den Code zu lesen. Einfach nicht ellenlangen Code schreiben, dann hat man das Problem nicht Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 7. März 2019 Melden Share Geschrieben 7. März 2019 Am 5.3.2019 um 00:42 schrieb Lightstorm: Folgendes geht also nicht: if (X == Y) print("wahr") print("wirklich wahr") else print("falsch") Folgendes geht aber: if (X == Y) { print("wahr") print("wirklich wahr") } else print("falsch") Zum Thread: Wenn es tatsächlich nur im print geht, dann würde ich Saschas Methode benutzen. Allerdings beim Debuggen erweitert man sein Code und daher ist die erste Methode mit den geschweiften Klammern am Besten dafür geeignet (sonst muss ich immer umschreiben, daher mache ich eigentlich gleich mit geschweiften Klammern). Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Life Is Good Geschrieben 7. März 2019 Melden Share Geschrieben 7. März 2019 Dann bin ich wohl der einzige hier, der die Klammern des öfteren auch ganz gerne mal weglässt Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Lightstorm Geschrieben 9. März 2019 Melden Share Geschrieben 9. März 2019 Am 7.3.2019 um 14:15 schrieb MaZy: Allerdings beim Debuggen erweitert man sein Code und daher ist die erste Methode mit den geschweiften Klammern am Besten dafür geeignet (sonst muss ich immer umschreiben, daher mache ich eigentlich gleich mit geschweiften Klammern). Das ist der einzige Grund wieso ich manchmal überlege die Vorgehensweise ohne geschweifte Klammern zu unterlassen. Es ist dann nervig wenn man zum testen die Klammern wieder hinzufügen muss. Es ist schnell gemacht, aber es nervt wirklich Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hämmer Geschrieben 9. März 2019 Autor Melden Share Geschrieben 9. März 2019 Also, meine Standardvorgehensweise sind die Klammern. Da ich jetzt eure Meinung gehört hab werd ich daran auch nichts ändern. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 9. März 2019 Melden Share Geschrieben 9. März 2019 vor 12 Stunden schrieb Lightstorm: Es ist dann nervig wenn man zum testen die Klammern wieder hinzufügen muss. Das ist die Sache mit der Robustheit. Du hast zwei Möglichkeiten, etwas in einer Situation zu tun. Die eine Möglichkeit funktioniert immer und die andere erfordert, dass du bei bestimmten Folgesituationen (Debugging, Änderung im Code) erstmal deinen bestehenden Code abändern musst. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.