AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Delphi’s Object Pascal Style Guide erneuert

Delphi’s Object Pascal Style Guide erneuert

Ein Thema von Uwe Raabe · begonnen am 29. Apr 2021 · letzter Beitrag vom 4. Nov 2022
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.643 Beiträge
 
Delphi 12 Athens
 
#1

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 29. Apr 2021, 17:10
<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?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 29. Apr 2021, 17:29
Compiler, ErrorInsight, CodeInsight, HelpInsight, Refactoring, die Änderungen vom FormDesigner oder synchronisierte Codeändeungen aus den Projektoptionen, usw.
Also alles mit der selben Syntax aus'm LSP arbeitet.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 29. Apr 2021, 17:34
So Copyrightzeugs/Unitbeschreibungen mach ich inzwischen ins PasDoc/XMLDoc, anstatt in einen komischen Kommentar.
Theoretisch könnte das dann im HelpInsight/CodeVervollständigung zum Unitnamen angezeigt werden (wenn es funktionieren würde) oder bei der Generierung einer Dokumentation oder Hilfe genutzt werden.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (29. Apr 2021 um 17:54 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.199 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 29. Apr 2021, 17:49
Cool, ich bin mal gespannt ob ich etwas finde über das man sich so fanatisch streiten kann wie Tabs vs. Spaces.


Edit:
Zitat:
Never use tab characters
(Quelle)
👿 AAAAaaaaaa


PS: Wenn ich es beim Überfliegen richtig sehe dann habt ihr euch ja zum Glück auf eine doch sehr brauchbare Formatierungsvorgabe für anonyme Methoden geeinigt. Was man manchmal seht wie manche Leute die in den Code quetschen oder ausrichten, da rollen sich einem die Fußnägel hoch...

Geändert von Der schöne Günther (29. Apr 2021 um 17:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#5

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 29. Apr 2021, 18:02
http://docwiki.embarcadero.com/RADSt...te_Space_Usage

Nee nee nee, das geht so.
Delphi-Quellcode:
if DoSomething then
  {$IFDEF MSWINDOWS}MessageBox{$ELSE}WriteLn{$ENDIF}('Hello');

Das mit den Anonymen mach ich auch schon so.
Nur manchmal kommt die ProzedurDeklaration mit auf die selbe Zeile (wenn keine/wenige/kurze Parameter und die restliche Zeile davor auch kurz ist), aber das begin-end ist dennoch auf einer eigenen Zeile und immer eingerückt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (29. Apr 2021 um 18:04 Uhr)
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 29. Apr 2021, 20:25
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;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#7

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 29. Apr 2021, 20:37
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.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (29. Apr 2021 um 20:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 30. Apr 2021, 07:59
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;
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#9

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 30. Apr 2021, 07:03
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

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

Geändert von Rollo62 (30. Apr 2021 um 07:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#10

AW: Delphi’s Object Pascal Style Guide erneuert

  Alt 30. Apr 2021, 07:42
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).
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 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-2025 by Thomas Breitkreuz