![]() |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Ich persönlich rücke in "Einser-Schritten" ein.
Also sehr gerne so:
Delphi-Quellcode:
Die schlimmste Formatierung die ich je gesehen habe sah in etwa so aus:
procedure Button1.Click(Sender: TOBject);
begin -if 1 > 0 then // Leerzeichen rechts und links von > --begin ---// Do something --end; -Label1.Caption := 'Mich gibbet net!' // Label auf selbe Höhe wie "if" end;
Delphi-Quellcode:
procedure Button1.Click(Sender: TOBject);
--begin -----if 1 > 0 then // Leerzeichen rechts und links von -----begin -----// Do something -----end; -----Label1.Caption := 'Mich gibbet net!' // Label auf selbe Höhe wie "if" --end; |
Re: Einrücken ::: ::: Wie rückt ihr ein?
so mach ichs eigentlich immer:
Delphi-Quellcode:
damit wäre ich aber auch noch einverstanden:
procedure Button1.Click(Sender: TOBject);
var c: Integer; begin if 1 > 0 then begin Label1.Caption := 'test1'; end else begin if x = y then begin for c := d to e do begin // Do Something end; end; Label1.Caption := 'test2'; end; end;
Delphi-Quellcode:
und alles andere geht bei mir garnicht! ^^
procedure Button1.Click(Sender: TOBject);
var c: Integer; begin if 1 > 0 then begin Label1.Caption := 'test1'; end else begin if x = y then begin for c := d to e do begin // Do Something end; end; Label1.Caption := 'test2'; end; end; @MichaelLinden: da du nach der If-bedingung das begin um eins eingerückt hast musst duch auch das begin im procedurenkopf um eins einrücken, wenn schon denn schon ^^ |
Re: Einrücken ::: ::: Wie rückt ihr ein?
So mache ich es immer und hatte nie Probleme damit, mich in Codes, die ich länger nicht mehr angerührt hatte, wieder einzufinden :)
Code:
MfG :D
// LF = Zeilenvorschub
// - = Leerzeichen -- da bestimmte Stellen im Code Abschnitt nicht richtig formatiert werden ! TData = Record --X, Y, --Z, A: Single; --Wow, Woooow, --WowWowWoW: String; end; procedure-Name(); // "()" auch wenn keine var übergeben werden ! var // + LF --X, Y, // max 2 vars in einer Zeile ! --i, j: Integer; --aha: TData; begin --doBlub1(); // Methodenaufruf --if True then --begin ----doBlub2(); // auf wenn nur 1 Zeile Code ausgeführt werden muss: begin und end dürfen nicht fehlen ! --end else // entspricht nicht der Styleguide ! aber somit spart man sich eine Zeile und sieht auch besser aus :P --begin ----doBlub3(); ----doBlub4(); --end; --X := -10; --Y := ABS( X ); // --> proc/func(-Value-); --aha.Z := 0; --for i := Round( X ) to Round( Y ) do --begin ----with aha do ----begin ------Z := Z + i; ----end; --end; --// AUSNAHMEN: --for i := Round( X ) to Round( Y ) do // wenn in der Schleife mit irgendwelchen datenstrukturen gearbeitet wird, dann... --with Aha do --begin -- Z := Z + i; --end; --with Aha do --begin // das gilt auch für Var/Struktur-Deklarationen ----X := 10; ----Y := Random(); // auch wenn functionen keine variablen verlangen: "()" dürfen nicht fehlen ! ----Wow := X; ----Woooow := Wow; ----WowWowWoW := Woooow; --end; end; |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Hier mal meine Variante
Delphi-Quellcode:
MfG :D[/quote]
type
TData = record x, y, z, a : single; Wow : string; end; procedure BlubName(aTest: string; aTest2: integer); var i : integer; value : string; pObj : TObject; bmp : TBitmap; begin // ein Kommentar if TestMethode(aTest) then begin // eine Case-Abfrage case aTest2 of 1 : begin end; 1024 : aTest := 'abc'; else aTest := 'n Fehler'; end; end else begin { Längere Beschreibung die auch mal über mehere Zeilen geht } BlubName(aTest + IntToStr(aTest2), aTest2 + 1); end; (* Quelltext der auskommentiert wurde + Grund if i = 0 then i := 5 else i := 5 + i; *) { ein Try-Finally-Konstrukt schreib ich erstmal automtisch hin sobald ich ein Create aufrufe } pObj := TObject.Create; try value := pObj.ClassName + ' - ' + pObjc.Irgendwas; for i:=0 to pObj.Count-1 do if pObj.Available[i] then pObj.Add(value) else pObj.Available[i] := False; bmp := TBitmap.Create; try // die Strings sind bei mir fast immer Konstanten oder variablen if not FileExists('hm, keine Ahnung') then raise Exception.Create('Konnte ''hm, keine Ahnung'' nicht finden'); bmp.LoadFromFile('hm, keine Ahnung'); if FileExists('woanders hin') then DeleteFile('woanders hin'); bmp.SaveToFile('woanders hin'); finally bmp.Free; end; finally { FreeAndNil benutz ich nur bei Objekten, die in einer Klasse oder Global gespeichert sind } pObj.free; end; end; |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Dass man nach einem If das end und else jeweils in eine Zeile packen soll, finde ich aber auch nicht so gut.
ich mache es auch eher so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin -if a = b then --begin ---// etwas machen --end else ---begin ----// etwas machen ---end; end; |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Um es kurz zu machen: Ich verwende eine Code-Formatter und passe die Optionen so an, das nicht so viele Zeilen verbraten werden. Früher habe ich extremen Wert auf Formatierung gelegt, und Alles, aber auch wirklich Alles irgendwie untereinander geschrieben, also z.B. auch die ':' in Var-Deklarationen. Irgendwann war mir das aber zu mühselig und als ich das erste mal einen Formatter ausprobiert habe, hab ich mich damit abgefunden, das die automatische Formatierung etwas suboptimal ist. Aber dafür habe ich nun auch wieder Zeit für andere Dinge im Leben :mrgreen:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Mir ist das mittlerweile sch***egal, wie andere einrücken, solange sie dies sinnvoll und nachvollziehbar tun, so dass der Code lesbar ist.
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Hi
Auch wenns mittlerweile vielleicht schon langweilig wird, läßt man die vielen Links mal weg und antwortet auf die Frage direkt. wär's vielleicht mit 10 Antworten getan. ( Viel mehr Variationen beim Einrücken kann ich mir eigentlich nicht vorstellen ... ) Wenn mich einer fragt, wie rückst du ein ist beine Antwort:
Delphi-Quellcode:
Ich kann nicht verstehen, warum manche nicht darauf achten. Vernünftig einrücken erhöht die Lesbarkeit und hilft immens bei der Fehlersuche, speziell bei fehlenden End-Anweisungen.
Procedure ....
Begin If ... then begin While .... do begin //einrücken, das ist die Anweisungsliste der While - Schleife etc. end; //Auch das hier ist eingerückt, weilszum If gehört.... end; If ... then Begin ...// zur Abwechslung mal else end else Begin ... //so steht begin immer am Anfang des Bereiches ... // und in der Spalte des zugehörigen End end; //und das zur Procedure.... end; Auch lassen sich Bereiche besser untersuchen. Ob nun 2, drei oder 4 Leerzeichen oder Tabs oder sonstwas zum Einrücken benutzt wird, halte ich eigentlich nicht für so wichtig. Der Code muß lesbar sein, sauber getrennt. Darauf kommt es an. Häufig ist der Ausweg von großen Begin ... End -Bereichen die Möglichkeit, Proceduren oder Functions aufzurufen. So kann z.B. eine Anweisung If (Bedingung) then TuDies else TuDas So, jetzt hab ich hoffentlich auf die Frage eine Antwort gegeben. Gruß oldmax |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Meine Einrückung:
Delphi-Quellcode:
Ich finde so kann man das am Besten lesen, aber da hat wohl jeder seinen eigenen Stil
procedure TForm1.Test;
begin for i:= 0 to 4 do begin if i < 3 then begin MachWas; MachNochWas; end else begin MachWasAnderes; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 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