![]() |
"Codedesign"
Hi @all,
ich hätte da mal ne Frage. Ist der Code so richtig formatiert?
Delphi-Quellcode:
Es geht mir vor allem um das else. Wo muss das positioniert werden? In Luckies Artikel dazu konnte ich leider kein Beispiel finden! :wink:
if Button1.Enabled=true then
begin DoThis; DoThat; end else begin DoThis2; DoThat2; end; |
Re: "Codedesign"
wie man will, aber ich mach es so wie Du. die styleguides unterscheiden sich aber in diesem punkt oft.
|
Re: "Codedesign"
Egal wie, du könntest auf das "= true" verzichten.
|
Re: "Codedesign"
Ja, da gibt es viele unterschiede.
Ich persönlich schreibe das else aber auch in einer eigenen Zeile.
Delphi-Quellcode:
Das aber auch nur, weil else if für mich untrennbar zusammengehört.
if 1 = 2 then
begin // end else begin // end; {oder auch so: } if 1 = 2 then begin // end else if 2 = 3 then begin // end; |
Re: "Codedesign"
Das ist mir klar! Ich wollte eigentlich false schreiben! :oops:
Eigentlich schreibe ich den Code auch immer anders:
Delphi-Quellcode:
if blabla then
begin dothis; dothat; end else begin dothis2; dothat2; end; |
Re: "Codedesign"
Ouch. In einem Punkt sind sich eigentlich so ziemlich alle Styleguides einig: Genau das
Delphi-Quellcode:
sollte man nicht machen.
if true then
begin // end else // das hier begin // end;
Delphi-Quellcode:
Okay, ich geb zu, das war etwas übertrieben. Aber glaub mir, ich kenne Codestellen das ist das leider genau so, und man wundert sich hinterher, warum denn da zum Teufel der Haltepunkt nie angesprungen wird...
if true then
begin // end else { Weil nämlich einige Leute auf die Idee kommen, und einen riesigen Kommetarblock mitten in eine Kontrollstruktur setzen. Und spätestens nach ein paar Zeilen weiss dann nämlich niemand mehr, das in den nächsten Block nur reingesprungen wird, wenn eine Bedingung 2 Bildschirmseiten weiter oben nicht erfüllt sein darf... } begin // end; |
Re: "Codedesign"
Deswegen fragte ich! Danke für den Hinweis! :zwinker:
|
Re: "Codedesign"
Zitat:
Delphi-Quellcode:
if not blabla then
begin end |
Re: "Codedesign"
Delphi-Quellcode:
Und nun stell Dir das mal vor, wenn Du links noch den Objektinspektor offen hast.
if MeineKlasseHatEinenSprechendenNamen.UndDieseMethodeAuch(UndDieserParameterAuch) = false then
begin // end; Und Du wunderst Dich, wenn der nie in die Bedingung reinläuft obwohl Du dafür explizit gesorgt hast (aber das false rechts ausserhalb Deines Codefensters nicht siehst...). |
Re: "Codedesign"
erbsenzähler :mrgreen:
@mathias edit// weil phoenix wieder drängelt |
Re: "Codedesign"
Aha! :oops:
Ich hab mir Delphi sozusagen selber beigebracht und hab bis jetzt immer:
Delphi-Quellcode:
und
if Button1.Visible=true then
[...]
Delphi-Quellcode:
geschrieben! :pale:
if Button2.Visible=false then
[...] |
Re: "Codedesign"
Da hat Mathias aber recht:
Delphi-Quellcode:
Du schreibst ja auch nicht:
if Button.Visible then
begin // end; { oder eben } if not Button.Visible then begin end;
Delphi-Quellcode:
if true = true then
|
Re: "Codedesign"
hallo phoenix,
sicherlich hat mathias recht, es ging doch aber um das codedesign, aber mathias kann nicht anderst. :mrgreen: raik |
Re: "Codedesign"
OK! Seit ihr zufrieden, wenn ich sage, dass ich mir das abgewöhne? :stupid:
|
Re: "Codedesign"
@kiar: Das ist gar nicht wahr. Ich bin durchaus in der Lage, über Fehler hinweg zu sehen. Ach, äh, übrigens:
Zitat:
@S2B: Mach dir nichts draus. Ich musste mir das auch mal abgewöhnen. ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz