AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Verbeserung bei Inline Variablen von 10.4 auf 11?
Thema durchsuchen
Ansicht
Themen-Optionen

Verbeserung bei Inline Variablen von 10.4 auf 11?

Ein Thema von fisipjm · begonnen am 19. Apr 2022 · letzter Beitrag vom 22. Sep 2023
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von himitsu
himitsu

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

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 21. Sep 2023, 16:07
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (21. Sep 2023 um 16:09 Uhr)
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#22

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 21. Sep 2023, 16:41
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

Geändert von mytbo (21. Sep 2023 um 16:51 Uhr) Grund: Bemerkung hinzugefügt
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.587 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 21. Sep 2023, 17:15
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#24

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 21. Sep 2023, 18:38
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

Geändert von mytbo (21. Sep 2023 um 18:51 Uhr) Grund: Tippfehler korrigiert
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 21. Sep 2023, 18:49
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (21. Sep 2023 um 18:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 21. Sep 2023, 20:58
Da war wohl schon jemand schneller: https://quality.embarcadero.com/browse/RSP-36852
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 22. Sep 2023, 08:48
Das ist wohl so geheim, da kann ich gar nicht draufklicken.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 22. Sep 2023, 10:02
Ich kann da jetzt nichts geheimes dran entdecken. Was passiert denn, wenn du auf den Link klickst?
Miniaturansicht angehängter Grafiken
22-09-2023_10-01-22.jpg  
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.071 Beiträge
 
Delphi 12 Athens
 
#29

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 22. Sep 2023, 11:44
Vergessen einzuloggen?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: Verbeserung bei Inline Variablen von 10.4 auf 11?

  Alt 22. Sep 2023, 13:25
Doch, war eingeloggt, bekam aber einen Fehler "Permission not granted" oder sowas. Jetzt geht es komischerweise.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 09:15 Uhr.
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