![]() |
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. |
AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
Zitat:
![]() PS: Die Länge der Funktion ist dem Demo-Charakter geschuldet. Bis bald... Thomas |
AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
Zitat:
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. |
AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
Zitat:
![]()
Delphi-Quellcode:
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.
var insRowIDs: TIDDynArray;
if restClient.BatchSend(insRowIDs) = HTTP_SUCCESS then Result := Length(insRowIDs); Bis bald... Thomas |
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: |
AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
Da war wohl schon jemand schneller:
![]() |
AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
Das ist wohl so geheim, da kann ich gar nicht draufklicken.
|
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?
|
AW: Verbeserung bei Inline Variablen von 10.4 auf 11?
Vergessen einzuloggen? :stupid:
|
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 01:45 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 by Thomas Breitkreuz