Delphi-PRAXiS
Seite 2 von 4     12 34   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Delphi’s Object Pascal Style Guide erneuert (https://www.delphipraxis.net/207755-delphi%92s-object-pascal-style-guide-erneuert.html)

ConstantGardener 29. Apr 2021 21:15

AW: Delphi’s Object Pascal Style Guide erneuert
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1488219)
Zitat:

Zitat von ConstantGardener (Beitrag 1488216)
<OT> Formatierung ist die eine Sache, wichtiger wäre, das LSP das gleiche Delphi/Object Pascal spricht bzw. versteht. Aber so langsam denke ich das werden wir nicht mehr erleben.</OT>

Das gleiche wie was?

Wie Himitsu es schon richtig schrieb! Es nervt mittlerweile wirklich, dass CodeInsight, ErrorInsight, Codevervollständigung usw. zu anderen Ergebnissen kommen wie der Compiler usw. Code ohne Fehler enthält angeblich Fehler, Code mit Fehler ist angeblich fehlerfrei usw. Ich hatte da echte Hoffnung auf LSP gesetzt, und ja ich weiß in der ersten Version kann sowas nicht perfekt sein. Wir haben mittlerweile aber die 3. Version mit LSP und es wird gefühlt immer schlimmer. Und sag mir jetzt bitte nicht ich muss meinen Code anpassen, entkoppeln, zirkuläre Referenzen minimieren etc. pp.

Wenn der Compiler es kompilieren kann, sollte es das Tooling auch können! frei nach Vincent Parret

Um den Bogen zum Thema zu bekommen: Mir wäre ein funktionierender LSP bedeutend wichtiger als ein Style Guide!

cu cg

jbg 29. Apr 2021 21:25

AW: Delphi’s Object Pascal Style Guide erneuert
 
Was ist denn mit dem "end;" vom "case" los. Das gehört mir persönlich immer auf die Ebene vom "case" und nicht wie im neuen Style Guide, wenn ein "else" Zweig vorhanden ist, eingerückt.
http://docwiki.embarcadero.com/RADSt...phi_Statements

Neuer Style Guide:
Delphi-Quellcode:
case ch of
  '0':
    begin
      ...
    end;
  else
    ...
  end; // huch?
So mache ich das:
Delphi-Quellcode:
case ch of
  '0':
    begin
      ...
    end;
else
  ...
end;

himitsu 29. Apr 2021 21:37

AW: Delphi’s Object Pascal Style Guide erneuert
 
Ich rücke das ELSE genauso ein, wie oben die Werte, denn die gehören ja zusammen,
aber das letzte END kommt natürlich unters CASE.

BEGIN-END bei den Werten rücke ich aber (meistens) nicht nochmal ein.
BEGIN hinter : und END unter den Wert.
Somit ist Code, egal ob mit oder ohne BEGIN-END oder im ELSE, auch immer auf der gleichen Ebene.

Ein BEGIN hinter ELSE und dazu ein eigenes END ist ja optional, aber das schreib ich dennoch, wenn mehr als eine Zeile ... dann passt das mit der Einrückung auch gleich viel besser.

Jasocul 30. Apr 2021 07:33

AW: Delphi’s Object Pascal Style Guide erneuert
 
Zitat:

Zitat von himitsu (Beitrag 1488240)
Ich rücke das ELSE genauso ein, wie oben die Werte, denn die gehören ja zusammen,
aber das letzte END kommt natürlich unters CASE.

BEGIN-END bei den Werten rücke ich aber (meistens) nicht nochmal ein.
BEGIN hinter : und END unter den Wert.
Somit ist Code, egal ob mit oder ohne BEGIN-END oder im ELSE, auch immer auf der gleichen Ebene.

Ein BEGIN hinter ELSE und dazu ein eigenes END ist ja optional, aber das schreib ich dennoch, wenn mehr als eine Zeile ... dann passt das mit der Einrückung auch gleich viel besser.

Genau so und nicht anders mache ich das seit über 30 Jahren.

Rollo62 30. Apr 2021 08:03

AW: Delphi’s Object Pascal Style Guide erneuert
 
Zitat:

Zitat von himitsu (Beitrag 1488228)

Ich hab da gerne meine eigenen Regeln, ich nenne das "luftiger Stil", der besseren Lesbarkeit wegen.

Zitat:

Before or after a .(dot) operator
Möglichst ":=" und "=" untereinander, möglichst zusammenhängende Terme ausgerichtet.
Logische Verknüpfungen möglichst separiert, mit vorangestelltem operator.
Möglichst "luftiges" Design durch Spaces in () und [].
Delphi-Quellcode:
  Obj1______________ := TObj1.Create;
  Obj1.___Field1____ := True;
  Obj1.___Field2____ := False;
  //
  Obj1______________ := TObj1.Create;
  ObjNew2.Field3____ := True;
  ObjNew2.Field4____ := False;

  Obj1.___Liste[ 0 ] := 'null';
  Obj1.___Liste[ 1 ] := 'eins';

  if____________( Obj1.___Field1 =_ ObjNew2.Field1 )
    ____and_____( ObjNew2.Field2 <> Obj1.___Field2 )
    _// and_____( ObjNew2.Field1 <> Obj1.___Field2 )   //<== So kann man mal schnell Terme ein/ausschalten, und behält doch den Überblick
    ____and not ( Obj1__________ =_ ObjNew2_______ ) then
  begin
  end;

Ja, das ist gewöhnungsbedürftig, aber der Compiler hat sich noch nie beschwert und die Lernkurve ist flach :stupid:

Edit:
Musste es mit ___ verunstalten, wg. der Forensoftware, damit man den Effekt sieht.

himitsu 30. Apr 2021 08:42

AW: Delphi’s Object Pascal Style Guide erneuert
 
Nee, nach Punkten trenn ich nicht (keine Leerzeichen reingemischt, *1), aber dahinter richte ich bei mehreren Zuweisungen auch die := immer untereinander aus.

1) außer bei langen Ausdrücken ein Zeilenumbruch vor dem Punkt, also Punkt in neuer Zeile, damit man sieht dass es eine Fortsetzung ist (und natürlich eine Stufe eingerückt).

Rollo62 30. Apr 2021 08:45

AW: Delphi’s Object Pascal Style Guide erneuert
 
Zitat:

Zitat von himitsu (Beitrag 1488250)
Nee, nach Punkten trenn ich nicht (keine Leerzeichen reingemischt, *1), aber dahinter richte ich bei mehreren Zuweisungen auch die := immer untereinander aus.

Ja so fing das Symptom bei mir auch an :gruebel:

Jasocul 30. Apr 2021 08:51

AW: Delphi’s Object Pascal Style Guide erneuert
 
Ausrichtung von Zuweisungen mache ich auch am ":=".
Bei mehrzeiligen Bedingungen weiche ich vom Standard ab:
Delphi-Quellcode:
if bla1 and
   bla2 and
   bla3 then
begin
  ...
end
Analog bei ähnlichen Konstrukten.
Da könnte mn noch diskutieren, ob die logische Verknüfung ("and" im Beispiel) in die neue Zeile kommt.

KodeZwerg 30. Apr 2021 08:59

AW: Delphi’s Object Pascal Style Guide erneuert
 
Zitat:

Zitat von jbg (Beitrag 1488238)
Was ist denn mit dem "end;" vom "case" los. Das gehört mir persönlich immer auf die Ebene vom "case" und nicht wie im neuen Style Guide, wenn ein "else" Zweig vorhanden ist, eingerückt.
http://docwiki.embarcadero.com/RADSt...phi_Statements

Neuer Style Guide:
Delphi-Quellcode:
case ch of
  '0':
    begin
      ...
    end;
  else
    ...
  end; // huch?
So mache ich das:
Delphi-Quellcode:
case ch of
  '0':
    begin
      ...
    end;
else
  ...
end;

Ich meist so:
Delphi-Quellcode:
case ch of
  '0': begin
         ...
       end;
  else
    ...
end;

Uwe Raabe 30. Apr 2021 09:13

AW: Delphi’s Object Pascal Style Guide erneuert
 
Eine wichtige Erkenntnis aus den internen Diskussionen um den Style Guide war übrigens: Wähle die Regeln so, dass der interne Formatter es umsetzen kann.

Ich bin mir gar nicht sicher, ob das für den neuen Style Guide überhaupt gilt. :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr.
Seite 2 von 4     12 34   

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf