![]() |
Delphi-Version: XE4
Vordefinierte Parameter nur im Interface-Abschnitt?
Hallo!
Ich habe bisher immer vordefinierte Parameter sowohl im interface- als auch im implementation-Abschnitt angegeben:
Delphi-Quellcode:
Das war sowas wie eine Gewohnheit. Nun ist mir aufgefallen, dass SHIFT-STRG-C im Implementation-Abschnitt eine abweichende Deklaration einfügt:
interface
type TMyObject = class(TObject) public procedure Func(const Param: Integer = -1); end; implementation procedure TMyObject.Func(const Param: Integer = -1); begin end;
Delphi-Quellcode:
Ist es gar nicht nötig, die Vorbelegung an beiden Stellen zu machen? War mir neu ...
implementation
procedure TMyObject.Func(const Param: Integer); begin end; |
AW: Vordefinierte Parameter nur im Interface-Abschnitt?
Es ist noch nicht einmal nötig die Argumente im
Delphi-Quellcode:
Teil anzugeben ;)
implementation
Delphi-Quellcode:
interface
type TMyObject = class(TObject) public procedure Func(const Param: Integer = -1); end; implementation procedure TMyObject.Func; begin end; |
AW: Vordefinierte Parameter nur im Interface-Abschnitt?
Zitat:
|
AW: Vordefinierte Parameter nur im Interface-Abschnitt?
War das früher mal obligatorisch? Wenn man sich schon alte Gewohnheiten abgewöhnt will man ja wissen warum man das überhaupt so gemacht hat...
|
AW: Vordefinierte Parameter nur im Interface-Abschnitt?
Zitat:
|
AW: Vordefinierte Parameter nur im Interface-Abschnitt?
Zitat:
|
AW: Vordefinierte Parameter nur im Interface-Abschnitt?
Zitat:
|
AW: Vordefinierte Parameter nur im Interface-Abschnitt?
Zitat:
Im
Delphi-Quellcode:
-Teil hab ich einer Methode einen Parameter beschert und im
interface
Delphi-Quellcode:
-Teil noch nicht angepasst und mich dann schwer gewundert das das Programm kompiliert UND funktioniert.
implementation
|
AW: Vordefinierte Parameter nur im Interface-Abschnitt?
In der Implementation lasse ich die Default-Parameter auch immer weg, dann ist das dort unten auch kürzer.
PS: Die Klassenvervollständigung tut das auch. Genauso hab ich oben manchmal an jedem Parameter die Typdefinition und unten sind die dann mit Komma zusammengefasst. (wenn es bei Überladenen mehrere Versionen gibt, der Symmetrie) Die Parameter schreibe ich aber dennoch in der Implementation. Erstmal sieht man dann auch unten die Parameter und muß nicht erst hoch gucken oder das Code-Insight bemühen. Dann gibt es einen Fall, wo Parameter immer unten stehen müssen. Also bei überladenen Methoden, denn nur so kann der Compiler die Methoden auseinander halten. Und da ich gern alles einheitlich habe, stehen somit auch die anderen Parameter da. Auch Dinge wie static, virtual oder inline muß man nur im Interface definieren. |
AW: Vordefinierte Parameter nur im Interface-Abschnitt?
Zitat:
Mir ist allerdings damals schon kein Grund eingefallen warum man diese Verwirrungstaktik betreiben sollte und die Parameter weglassen sollte. Ein Überblick über fremden Quelltext wird dadurch deutlich verzögert und auch in eigenem Quelltext ist es der Lesbarkeit deutlich abträglich. Natürlich erkennt man Parameter in sauberem Quelltext zumindest an dem großen A als Prefix, aber den Typ sieht man daran dennoch nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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