Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Verbeserung bei Inline Variablen von 10.4 auf 11? (https://www.delphipraxis.net/210396-verbeserung-bei-inline-variablen-von-10-4-auf-11-a.html)

himitsu 21. Sep 2023 15:07

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Ja, ich verwnde Inline gern für FOR
und sonst möglichst nur für kurze Mehrzeiler.

Aber auch für schnelle Test-/probecodes,
sowie für Democodes.

Auch kurze DebugCodes mit einem IFDEF oder einfach nur auskommentiert, da machen sich Inline-Variablen auch ganz schön, wenn sie sich nicht mit dem normalen Code oben im VAR vermischen und man auch dort nochmal IFDEF/Auskommentieren muß, damit nicht über nichtgenutzte Variablen gemeckert wird.



Ich hatte auch die Hoffnung, dass Inline wirklich nur dann vorhanden sind, wenn sie verwendet werden.

z.B. im DECMath wollte ich bei ParameterChecks die "komplexeren" Typen nur initialisieren/finalisieren, wenn sie nötig sind, und soll der Code möglichst ohne große Operationen am Stack schnell durchrauschen.
Dann könnte man den Convertierungszweizeiler schön im IF (begin-end) haben, anstatt ihn nochmal in eine Untermethode auslagern zu müssen.

mytbo 21. Sep 2023 15:41

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Zitat:

Zitat von jaenicke (Beitrag 1527186)
Ich persönlich verwende Inline-Variablen nur, wenn es einen wichtigen Grund gibt. Zum Beispiel ist es praktisch, wenn man einen Quelltext zu Debugzwecken einfügt, wenn man dann nicht zwei Teile hat, die man hinterher wieder entfernen muss.

Ich verwende Inline-Variablen in Quelltext-Beispielen, die ich veröffentliche. Würdest du auch die hier gezeigte Art der Anwendung negativ sehen? Der Grund, warum ich im Alltag Inline-Variablen nicht verwende, ist die Kompatibilität mit älteren Delphi Versionen. Grundsätzlich finde ich sie, nach einer kurzen Eingewöhnungsphase, dosiert eingesetzt, ganz praktisch.

PS: Die Länge der Funktion ist dem Demo-Charakter geschuldet.

Bis bald...
Thomas

jaenicke 21. Sep 2023 16:15

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Zitat:

Zitat von mytbo (Beitrag 1527190)
Ich verwende Inline-Variablen in Quelltext-Beispielen, die ich veröffentliche. Würdest du auch die hier gezeigte Art der Anwendung negativ sehen?
[..]
PS: Die Länge der Funktion ist dem Demo-Charakter geschuldet.

Das ist genau der Punkt. Bei einem solchen Beispiel möchte man alles in einem Stück zeigen, da kann ich es nachvollziehen, wenn man das so macht. Ich meine schon immer Produktivcode.

In einem echten Quelltext hätte ich z.B. statt docQuery.ToUrlEncode eine Funktion GetEncodedUrl oder so verwendet und hätte daher gar keine Variable mehr benötigt.

mytbo 21. Sep 2023 17:38

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Zitat:

Zitat von jaenicke (Beitrag 1527193)
Zitat:

Zitat von mytbo (Beitrag 1527190)
Ich verwende Inline-Variablen in Quelltext-Beispielen, die ich veröffentliche. Würdest du auch die hier gezeigte Art der Anwendung negativ sehen?
[..]
PS: Die Länge der Funktion ist dem Demo-Charakter geschuldet.

Das ist genau der Punkt. Bei einem solchen Beispiel möchte man alles in einem Stück zeigen, da kann ich es nachvollziehen, wenn man das so macht. Ich meine schon immer Produktivcode.

Ich setze Inline-Variablen in Quelltext-Beispielen seltener ein, als ich zuerst gedacht hatte. Hier habe ich ein Beispiel gefunden. Natürlich hat auch diese Funktion ein wenig Demo-Charakter. Frage ganz konkret:
Delphi-Quellcode:
var insRowIDs: TIDDynArray;
if restClient.BatchSend(insRowIDs) = HTTP_SUCCESS then
  Result := Length(insRowIDs);
Die Variable insRowIDs wird nur an dieser Stelle verwendet. Ist das kein guter Grund, es so lokal wie möglich zu halten? Die anderen Inline-Variablen stehen gleichfalls gut zuordenbar im Kontext der Anwendung. Wenngleich mein Urteil nicht neutral ist: Ich finde den Quelltext gut lesbar, auch durch den Einsatz der Inline-Variablen und deren strukturierenden Wirkung.

Bis bald...
Thomas

himitsu 21. Sep 2023 17:49

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Im C++, oder war's woanders, kannst'e auch Variablen mitten in der Bedingung von IF, WHILE usw. deklarieren.

Im Delphi sähe es dann so aus, falls wir irgendwann auch sowas können.
Delphi-Quellcode:
if restClient.BatchSend(var insRowIDs) = HTTP_SUCCESS then
  Result := Length(insRowIDs);

//oder
if restClient.BatchSend(var insRowIDs: TIDDynArray) = HTTP_SUCCESS then
  Result := Length(insRowIDs);


if GetValue(var Value) and (Value = 123) then

Gleich mal den Feature-Request erstellen. :duck:

Uwe Raabe 21. Sep 2023 19:58

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Da war wohl schon jemand schneller: https://quality.embarcadero.com/browse/RSP-36852

Der schöne Günther 22. Sep 2023 07:48

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Das ist wohl so geheim, da kann ich gar nicht draufklicken.

Uwe Raabe 22. Sep 2023 09:02

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich kann da jetzt nichts geheimes dran entdecken. Was passiert denn, wenn du auf den Link klickst?

himitsu 22. Sep 2023 10:44

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Vergessen einzuloggen? :stupid:

Der schöne Günther 22. Sep 2023 12:25

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
 
Doch, war eingeloggt, bekam aber einen Fehler "Permission not granted" oder sowas. Jetzt geht es komischerweise.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr.
Seite 3 von 4     123 4      

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