![]() |
Einrücken ::: ::: Wie rückt ihr ein?
Hi Leutz,
ich hab' da mal 'ne Frage: Wie rückt iht ein? Also eher so:
Delphi-Quellcode:
oder eher so:
procedure Button1.Click(Sender: TOBject);
begin If 1>0 then begin Application.Terminate; end; Label1.Caption := 'Mich gibt's nicht!' end;
Delphi-Quellcode:
oder vielleicht so (?):
procedure Button1.Click(Sender: TOBject);
begin If 1>0 then begin Application.Terminate; end; Label1.Caption := 'Mich gibt's nicht!' end;
Delphi-Quellcode:
Oder macht ihr was total Anderes?
procedure Button1.Click(Sender: TOBject);
begin If 1>0 then begin Application.Terminate; end; Label1.Caption := 'Mich gibt's nicht!' end; Würde mich auf Antworten freuen, ein Freund und ich streiten uns nämlich um die "bessere" Formatierung. Ich weiß, dass es keine "richtige" Formatierung gibt, will einfach nur subjektive Mehrheiten. |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Eher so wie in Deinem ersten Beispiel.
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
eigentlich keine von den vorgezeigten Varianten. Bei mir gehört ein begin-end immer in die gleiche Einrücktiefe wie der dazugehörige Kopf (worauf sich das begin-end bezieht). Wenn ein Begin-End vorbei ist kommt bei mir die nächste Anweisung auf die gleiche Höhe wie der begin-end block. Also genau wie bei einer Baumstruktur (nur das man im Baum kein Begin-End sieht).
Also alles was innerhalb eines anderen Zweiges (begin-end) liegt wird eingerückt. Und das nächste Sibbling (Folgenanweisung) hat die gleiche Einrückung wie der vorhergehende Befehl/Befehlsblock. |
Re: Einrücken ::: ::: Wie rückt ihr ein?
ich find den style-guide von dsdt.info dabei sehr hilfreich.
![]() |
Re: Einrücken ::: ::: Wie rückt ihr ein?
bei Borland gabs auch einen Styleguide an den ich mich so ziemlich halte.
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
![]() ...:cat:... |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
das "gab" brachte mich zu der annahme, es gäbe diesen artikel nicht mehr. |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Also hier in der Firma halten sich alle 12 Entwickler an den Styleguide von Borland.
Wobei sich dieser ziemlich mit dem von dsdt.info deckt. So ist gewährleistet, dass man sich auch sofort in Code von Borland-Dateien zurechtfindet. |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Wichtig ist nur, dass man Anstelle der 2 Leerzeichen bitte mit Tabs einrückt. Da gabs schon Seitenlange Diskussionen, letzlich hat sich aber immer gezeigt dass Tabs nur Vorteile haben.
Dazu sollte aber auch eine Forensuche die ganzen Argumente auflisten. |
Re: Einrücken ::: ::: Wie rückt ihr ein?
habe die Forumsuche ausnahmsweise mal ausgelassen wegen dem Statement "dass Tabs nur Vorteile haben".
tabs müssen z.B. immer konfiguriert werden, wenn du mal einen anderen Editor nimmst ist die Tabweite eigentlich immer mehr als 2 Leereichen (teilweise kann man das gar nicht konfigurieren => Windows-Editor) Ich für meinen Teil nehme immer 2 leerzeichen und bei tab werden 2 leerzeichen eingefügt. Das sieht dann in jedem Editor gleich aus, was bei Tab nicht der Fall ist. Und das ist für mich ein entscheidender Nachteil von Tabs... Gruß Frank |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
Genau das ist der Punkt warum man ein Zeichen benutzt, dass unabhängig von seiner Darstellung dafür gedacht ist einzurücken: Jeder kann es so breit einstellen wie er will. Dämlicherweise füllt der Delphi Editor einfach alle white spaces am Anfang einer Zeile mit Tabs auf. Dadurch kann man zwar gerne Tabs in Delphi Code nehmen, aber den Delphi Editor darf man dann nicht mehr benutzen. zum Bleistift:
Delphi-Quellcode:
Ich habe die Blockeinrückung mit je einem Tab gemacht (die hier dummerweise 3 Zeichen breit sind), die Einrückung der Parameter natürlich mit Spaces (neben den Tabs).
begin
DoSomething(param1, param2, param3, param4, param5, param6); end; Egal wie breit Tabs in irgendeinem Editor eingestellt sind, es sollte immer so aussehen, wie es soll. Wenn Delphi aber alle white spaces am Anfang der Zeile in Tabs umwandelt sieht es einfach nur zum Kotzen aus. |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
Zitat:
Zitat:
Im übrigen ist es erwiesen, dass eine Einrückung erst ab mindestens 3 Zeichen intuitiv vom Auge als eine solche erkannt wird (das war eine Ergonomiestudie). Weniger ist nicht intuitiv erkennbar und kann bei tieferen Einrückungen (2-4 Ebenen) schonmal leicht verwechselt werden. Zudem braucht ein Tab immer nur genau 1 Byte und Einrückungen um n-Zeichen genau n Bytes pro Einrückung. Das macht bei vielen Änderungen an Umfangreichen Sourcen mit einigen Einrückungen dann irgendwann tatsächlich mal was aus in der Masse. Vor allem Versionierungssysteme werden es früher oder später Danken. Leerzeichen bei Einrückungen sind daher ein absolutes No-Go. Es gibt für Leerzeichen nur Nachteile und für Tabs ausschliesslich Vorteile - und das bei rein objektiver Betrachtunsgweise. |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Na da scheiden sich mal wieder die Geister. In meiner Firma ist es z.B.: verboten, mit Tabs einzurücken, da es bei uns durchaus vorkommen kann, dass man mal an einem anderen Arbeitsplatz sitzt und dort auch genau die gleichen Einrückungen vorfinden muss.
Dieser Punkt sollte also keinesfalls als Gesetz verstanden werden und jeder kann es so machen, wie er denkt, solange alle im Team auf die gleiche Weise arbeiten. Und dafür gibt es ja die Entwicklerrichtlinien, die jede Firma festlegen sollte. |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Die Einrückung ist leider in den Editoroptionen beim BDS2006 nicht auf Tabs gestellt per Default. Und um nachträglich das zu ändern muss man mit dem Cursor durch jede Zeile wandern.
Aber ob Tabs verwendet werden oder nicht wird im Borland-Styleguide nirgends erwähnt, zumindest hab ich beim überfliegen nix gefunden. Letztendlich kann man auch Tabs nehmen und diese dann einfach mal mit suchen->ersetzen durch leerzeischen ersetzen wenn diese unerwünscht sind. Umgekehrt kann mans auch machen. Sofern die Weite der Einrückung am Styleguide angelehnt ist kommt es dann auch nicht zu Problemen (wenn also eine umgebrochene Anweisung genau so weit eingerückt wird wie jede andere Einrückung) |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
ok, das würde dann erklären warum per default im BDS eingestellt ist das Tabs durch leerzeischen ersetzt werden.
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Aha! Endlich ist eine Antwort gefunden! Gut, damit ist mein Problem wohl gelöst. Wenn es sogar einen Kodex dafür gibt, wie man zu formatieren hat... ^^
Thx, kann geclosed werden! |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
btw: leerzeischen? :lol: |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
Danach werden alle Tabs in der Quelltext Datei durch die Delphi IDE in 2 Leerzeichen umgewandelt. (Alternativ könntest Du Dir auchen einen Experten schreiben, der über IOTASourceEditor die Einrückung (Umwandlung von Tab nach Space) vornimmt.) Nachteil bei Versionsverwaltung. Beim Einchecken sind natürlich alle diese Zeilen als geändert sichtbar. (außer man sagt dem Diff, dass es keine Änderungen an den Whitespaces anzeigen soll) Ich persönlich finde Leerzeichen besser. Das liegt auch daran, das ich oft auf Notepad zurückgreife um was nachzuschauen. In Notepad kann man keine Tab-Einstellungen vornehmen. (Im Gegensatz zu UltraEdit und Delphi ist Notepad auf jeder Windows Maschine installiert ;-)) |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Ist das nich sogar schon seit ewigen Delphi Versionen so?
Also D7 macht auch Leerzeichen, wenn man mit TAB einrückt... :) |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Ich meine, dass es diese Option sogar bei Delphi 3 gibt....
Abgesehen davon rücke ich immer mit Leerzeichen ein, weil ich mich da irgendwie dran gewöhnt habe, und ich persönlich schneller zweimal die Lehrtaste drücken kann, als einmal die Tabtaste. Was die Einrückung an sich betrifft, halte ich mich ziemlich genau an die Borland-Vorgaben. (Manchmal variiere ich, um Sachen übersichtlicher oder kürzer zu machen. Beispiel:
Delphi-Quellcode:
statt
blaaaaaaaaaa('hallo',
'welt', 'möp', 'und', 'tschüss');
Delphi-Quellcode:
blaaaaaaaaaa('hallo','welt','möp','und','tschüss');
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
Dieser Styleguide ist bereits 10 Jahre alt und im speziellen dieser Absatz ist inzwischen obsolet. Wie gesagt: Es gibt objektiv betrachtet nur Nachteile für Leerzeichen und keine für Tabs. Zudem ist eine Einrückung um 2 Zeichen eh nachgewiesenermassen suboptimal, die optisch ideale Einrückungstiefe ist 3. Siehe aber auch generell mal hier: ![]() |
Re: Einrücken ::: ::: Wie rückt ihr ein?
@Mabuse: mit Suchen->Ersetzen ging es auch recht schnell.
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Ich rücke normal auch so ein:
Delphi-Quellcode:
Florian
procedure Button1.Click(Sender: TOBject);
begin If 1 > 0 then begin Application.Terminate; end; Label1.Caption := 'Mich gibt''s nicht!' end; |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Ich halte mich auch an den DSDT-Styleguide, also den von Borland.
Ich benutze auch KEIN Tab: Grund: Bei z.B. Delphi 5 Standard rückt Tab immer auf die Höhe des nächsten Wortes in der nächsthöheren Zeile ein. Wenn in der nächsthöheren Zeile kein Wort mehr folgt, dessen Anfangsbuchstabe sich rechts vom Cursor befindet, guckt er in der Zeile darüber usw. D.h. mal rückt Tab 1 Zeichen ein, mal 20. In einigen Zeilen befindet man sich nach 5mal Tab weiter links als in anderen Zeilen, in denen man nur 3 mal Tab drückt. Wenn in keiner der darüberliegenden Zeilen mehr ein Wort rechts vom Cursor beginnt, rückt Tab nicht mehr weiter ein. Die Einrückungen werden dann auch sofort in Leerzeichen umgewandelt, d.h. es braucht auch nicht weniger Speicher, wenn man Tab drückt statt ein paar mal die Leertaste. |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
Ich kann es niemanden verübeln Leetzeichen zu verwenden, weil es der Standard (in Delphi) ist und er um Tabs zu verwenden in die Tiefen der IDE Konfiguration einsteigen müsste. ;-) |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Trotz des StyleGuids rüch ich so ein:
Delphi-Quellcode:
Find ich irgent übersichtlicher.
function foo: integer;
begin if a > b then begin for i:= 0 to b do begin a:= 0; end; end; end; |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Meine Weg:
Delphi-Quellcode:
Finde ich bedeutend übersichtlicher, ist aber eh alles Geschmackssache. ;)
function foo: Integer;
begin if a > b then begin for i:= 0 to b do begin a:= 0; end; end; end; |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Delphi-Quellcode:
Dito.
function foo: Integer;
begin if a > b then begin for i:= 0 to b do begin a:= 0; end; end; end; |
Re: Einrücken ::: ::: Wie rückt ihr ein?
@Balu: Das Einrücken um 1 Zeichen habe ich jetzt noch nie gesehen, finde es auch etwas unübersichtlich, aber da gehen die Meinungen natürlich auseinander. ;)
Ich rückte bisher immer mit 2 Leerzeichen ein, habe jedoch einige Wochen ausschließlich mit PHP programmiert und dort immer mit Tabs (Tabweite: 4) eingerückt, da ich bei den geschweiften Klammern die Einrückung von 2 nicht schön fand. Auch kann ich, wenn sich mein Geschmack ändern sollte, jederzeit die Tabweite ändern. Tabweite 4 fand ich so hübsch, darum mach ich's in Delphi nun meist auch so, wobei ich gerade dazu tendiere, doch lieber Tabweite 3 zu nehmen. :mrgreen: |
Re: Einrücken ::: ::: Wie rückt ihr ein?
Zitat:
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Hopsala, hab ich ganz übersehen. Grundsätzlich rücke ich so ein wie Balu, nur immer mit 2 Leerzeichen.
|
Re: Einrücken ::: ::: Wie rückt ihr ein?
Erst wurde erwähnt, dass eine Einrückung um drei Leerzeichen (bzw. Darstellung der Tabs als solche) ideal wäre und nun kommt ihr alle mit einem Space :gruebel: ? Nun gut, über Geschmack lässt sich bekanntlich streiten, aber das finde ich ebnso wie Matze doch etwas unübersichtlich.
Ich halte es auch für sehr merkwürdig, wenn ein einzelnes Statement anders eingerückt wird wie die Anweisungen in einem Code-Block. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 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