Delphi-PRAXiS
Seite 7 von 11   « Erste     567 89     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Einrücken ::: ::: Wie rückt ihr ein? (https://www.delphipraxis.net/80777-einruecken-wie-rueckt-ihr-ein.html)

Sunlight7 16. Nov 2006 09:10

Re: Einrücken ::: ::: Wie rückt ihr ein?
 
Zitat:

Zitat von Sidorion
ist wohl das gefährlichste, was man machen kann. Wenn schon kein Begin, dann wenigstens das Then mit in die neue Zeile nehmen,...

:shock: :shock: :shock:
Also ich schreib schon seit JAHREN so, was gefährliches hab ich daran noch nicht entdecken können :mrgreen:
Delphi-Quellcode:
Weil: in solchen Konstrukten kann es leicht passieren, dass wenn man mal ne Programmzeile hinter das If schreiben will die Bedingte Anweisung nach dem If durch die neue erstetzt und dann ist der Code futsch. Auch sollte man bei mehrzeiligen Anweisungen (wie z.b.: For) unbedingt einen Block nehmen (Begin..End) um zu zeigen, dass ALLE Zeilen zu dieser Anweisung gehören, also etwa so:
Warum sollte dann der Code "futsch" sein :gruebel: :gruebel: :gruebel:
Und auf Überflüssige begin..end Blöcke verzichte ich sowieso :???:

@MaBuSE: Da stimme ich Dir zu, genau wie in dem anderem Thread, eigentlich ist es völlig egal, wie man es schreibt, jedoch halt so, das man es am bestem lesen kann.
Ausnahme ist eben, wenn eine Gruppe zusammen arbeitet, dann sollte man sich auf etwas einigen.

Cöster 16. Nov 2006 16:55

Re: So rücke ich ein
 
Zitat:

Zitat von Sunlight7
@Balu, ja, das ist beabsichtigt:

Delphi-Quellcode:
1+1=1-1=1 * 1=1 / 1
Damit tue ich mir leichter, wenn man Klammern setzen muß :P :???:

Ich hab's mal ne Zeit lang so gemacht, dass ich bei Punktrechnung keine Leerzeichen gelassen hab, bei Strichrechnung aber schon, weil Punktrechnung vor Strichrechnung geht und deswegen imho enger zusammen gehört. Aber inzwischen benutze ich in beiden Fällen Leerzeichen.

Wie macht ihr das, wenn eine Zeile zu lang ist (über 80 Zeichen)?
Ich kann mich da oft nicht entscheiden. Wenn alles hinter dem ':=' alleine in eine Zeile passt, drück ich nach dem ':=' auch gerne mal die Enter-Taste.
Oder bei langen Parameterlisten? Alles innerhalb der Klammer in eine Zeile (wenn's passt) oder Teile direkt hinter die geöffnete Klammer und den Rest in die nächste Zeile?
Was macht ihr, wenn nach einem until mehrere Bedingungen kommen, die nicht in eine Zeile passen? Soviel wie passt in die erste Zeile und den Rest dadrunter 2 Zeilen eingerückt? Oder den Rest darunter auf höhe der Bedingung in der ersten Zeile?

Zitat:

Zitat von MaBuSE
Mich wundert es, dass noch niemand gepostet hat er würde Blocksatz bevorzugen. ;-)

Delphi-Quellcode:
function Foo(a, b, c, d:Integer):Integer; var x, y:Integer; begin If a>b then
{1. If groß} if a * b > c+d then begin {Verschachtelte ifs klein} For x:=0 to
Width-1 do {Das gleiche mit For} for y:=0 to Height-1 do begin Inc(a, 1); Dec
(b, 1); end; end; end;

Das fällt dann schon fast in die Kathegorie Verschlüsselung^^

Namenloser 16. Nov 2006 20:36

Re: So rücke ich ein
 
Zitat:

Zitat von Cöster
Ich hab's mal ne Zeit lang so gemacht, dass ich bei Punktrechnung keine Leerzeichen gelassen hab, bei Strichrechnung aber schon, weil Punktrechnung vor Strichrechnung geht und deswegen imho enger zusammen gehört.

Hattest du zufällig mal eine gewisse Frau Schuster in Mathe :stupid:

Also ich mach auch zwischen den Rechenzeichen leerzeichen, weil ich das übersichtlicher finde.
Probleme hab ich, wenn man umbrechen müsste, aber die Zeile selbst mit Umbruch noch zu lang ist. Wie macht ihr das?

Delphi-Quellcode:
function Foo(a, b, c, d:Integer):Integer; var x, y:Integer; begin If a>b then
{1. If groß} if a * b > c+d then begin {Verschachtelte ifs klein} For x:=0 to
Width-1 do {Das gleiche mit For} for y:=0 to Height-1 do begin Inc(a, 1); Dec
(b, 1); end; end; end;
Das ist natürlich das nonplusultra :wink:

Cöster 16. Nov 2006 21:08

Re: So rücke ich ein
 
Zitat:

Zitat von NamenLozer
Hattest du zufällig mal eine gewisse Frau Schuster in Mathe :stupid:

Nein. Gibt wohl noch andere, die das so sehen wie ich es sah.

Zitat:

Zitat von NamenLozer
Probleme hab ich, wenn man umbrechen müsste, aber die Zeile selbst mit Umbruch noch zu lang ist. Wie macht ihr das?

Ich lass den Operator dann am Ende der Zeile stehen und breche danach um.

Sunlight7 16. Nov 2006 21:46

Re: Einrücken ::: ::: Wie rückt ihr ein?
 
Zitat:

Zitat von Cöster
Wie macht ihr das, wenn eine Zeile zu lang ist (über 80 Zeichen)?

Warum 80 Zeichen, es sind doch 255 möglich :zwinker:

Und wenn ich die 255 erreiche breche ich das bei der nähersten Gelegenheit um und rücke in der nächsten Zeile ein.

Cöster 16. Nov 2006 22:13

Re: Einrücken ::: ::: Wie rückt ihr ein?
 
Zitat:

Zitat von Sunlight7
Zitat:

Zitat von Cöster
Wie macht ihr das, wenn eine Zeile zu lang ist (über 80 Zeichen)?

Warum 80 Zeichen, es sind doch 255 möglich :zwinker:

Also mir persönlich gefällt's immer am besten, wenn ich meinen Code auch noch sehen kann. Aber das muss ich auch mal ausprobieren, und zusätzlich noch Blocksatz natürlich. So spart man bestimmt 90% Zeilen :-D

Prototypjack 17. Nov 2006 08:33

Re: Einrücken ::: ::: Wie rückt ihr ein?
 
Moin,
Grundsätzlich halte ich mich an den Borland Styleguide.
Jedoch mache ich gewisse Dinge ein bisschen anders (Aber auch Styleguide-Legitim).
Wie zum Beispiel verwende ich IMMER wo ein Begin-Block möglich ist, selbigen.
Delphi-Quellcode:
procedure ButtonClick(Sender: Tbject);
begin
  if A < B then
  begin
    Label1.Caption := 'Foo';
  end;
  for I := 0 to SomeList.Count - 1 do
  begin
    if I > A then
    begin
      Label1.Caption := 'Bar';
    end;
  end;
end;

Sidorion 17. Nov 2006 08:53

Re: Einrücken ::: ::: Wie rückt ihr ein?
 
@Sunlight7
Das gefährliche daran ist wenn Du im Team arbeitest und z.B.: der Kunde anruft, bei ihm geht nix mehr und Du im Urlaub bist. Dann muss Dein Kollege Deinen Code korrigieren und z.B.: nochne Zeile einfügen muss.
Ein Beispiel:
Delphi-Quellcode:
If Bedingung Then
  TuWas;
Jetzt stellt Dein Kollege fest, vor TuWas muss TuNochwas und fügt TuNochwas ein, dann sieht der Code so aus:
Delphi-Quellcode:
If Bedingung Then
  TuNochwas;
  TuWas;
Jetzt wird nurnoch TuNochwas bedingt ausgeführt und TuWas immer.
Wenn das Then mit unten steht kann das nicht passieren, weil klar ersichtlich ist, dass TuWas zur If-Abfrage gehört.
In so einem einfachen Beispiel wird die Notwendigkeit jetzt nur bedingt deutlich, aber lass mal Bedingung sich über die ganze Zeile erstrecken, dann sieht man das Then nicht auf den ersten Blick.
Auf Einrückungen kann man sich nicht vorbehaltslos verlassen, da die IDE es durchaus schafft manchmal die Einrückungen zu verändern (hab ich mehrfach schon erlebt).

Sunlight7 17. Nov 2006 09:04

Re: Einrücken ::: ::: Wie rückt ihr ein?
 
Wie gut, das ich nur alleine und Privat programmiere :???:
Da brauch ich mich nicht um Kollegen kümmern :angel2:

Tyrael Y. 17. Nov 2006 09:52

Re: Einrücken ::: ::: Wie rückt ihr ein?
 
Zitat:

Zitat von Prototypjack
Delphi-Quellcode:
procedure ButtonClick(Sender: TObject);
begin
  if A < B then
  begin
    Label1.Caption := 'Foo';
  end;
  for I := 0 to SomeList.Count - 1 do
  begin
    if I > A then
    begin
      Label1.Caption := 'Bar';
    end;
  end;
end;


Genauso sieht bei mir auch der Code aus.
Bin halt konsequent in setzen von begin end.
Bei Erweiterungen des Codes kann man sich auch nicht vertun bzw. etwas übersehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr.
Seite 7 von 11   « Erste     567 89     Letzte »    

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-2025 by Thomas Breitkreuz