![]() |
AW: Delphi’s Object Pascal Style Guide erneuert
Zitat:
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 |
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.
![]() Neuer Style Guide:
Delphi-Quellcode:
So mache ich das:
case ch of
'0': begin ... end; else ... end; // huch?
Delphi-Quellcode:
case ch of
'0': begin ... end; else ... end; |
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. |
AW: Delphi’s Object Pascal Style Guide erneuert
Zitat:
|
AW: Delphi’s Object Pascal Style Guide erneuert
Zitat:
Zitat:
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. |
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). |
AW: Delphi’s Object Pascal Style Guide erneuert
Zitat:
|
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:
Analog bei ähnlichen Konstrukten.
if bla1 and
bla2 and bla3 then begin ... end Da könnte mn noch diskutieren, ob die logische Verknüfung ("and" im Beispiel) in die neue Zeile kommt. |
AW: Delphi’s Object Pascal Style Guide erneuert
Zitat:
Delphi-Quellcode:
case ch of
'0': begin ... end; else ... end; |
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 17:30 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