![]() |
Delphi-Version: 5
Neue Funktionen/Methoden der RTL etc finden
Die Frage klingt vielleicht ein wenig schräg: Wie findet Ihr die neuen Funktionen/Methoden, die mit den Updates und Releases hinzukommen?
Ich mach grad einen großen Sprung nach 10.3 und habe immer wieder so "Ah! Oh! das gibt´s ja schon!" Erlebnisse. Ich kann natürlich den Code durchackern oder mir überlegen, wie die Funktion heißen könnte + suchen. Konkret zB: Ich habe immer wieder Anweisungen der Form:
Code:
Dafür hab ich mir eine Funktion gemacht. Aber sowas gibt es wahrscheinlich mittlerweile in der RTL?
if s<>'' then
s:=s+' '; s:=s+'irgendwas'; Cool wäre eine Suche der Art: "strings, concatenation, separator" oder so. |
AW: Neue Funktionen/Methoden der RTL etc finden
Gar keine blöde Frage, ich versuche auch immer wesentliche Änderungen herauszubekommen.
Irgendwas mit GIT oder Grep Vergleich Alt/Neu ? Aber so richtig befriedigend ist das nicht. |
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
![]() Aber wenn ich sowas suche, dann nehme ich meine Grep-Anwendung (Greppola) und suche mich durch die Quelltexte im Source-Verzeichnis. Grep ist wesentlch flexibler als eine einfache Suche und man kann auch nach alternativen Suchen, oder andere Schreibweisen. |
AW: Neue Funktionen/Methoden der RTL etc finden
Ein Gedanke wäre mit einem Diff-Tool die C++Header unter \Include zu vergleichen, was es dort an Änderungen/Erweiterungen so gibt.
Leider gibt es nur für sehr wenige Units solche C++ Header. Evtl. kann man sich die aber für Alles was im Source ist erzeugen lassen, durch Neukompilieren, aber ich lasse da normalerweise die Finger davon und arbeite mit dem Orginal-EMBA Setup. So weiss ich wenigstens woher irgendwelche Probleme kommen :stupid: |
AW: Neue Funktionen/Methoden der RTL etc finden
|
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
Stöbern mache ich immer wieder. Oft finde ich gar nicht die entsprechende Funktion. Aber ein kleines "Ahhh" und "Ohh" geht mir immer wieder durch den Kopf. Man findet immer wieder eine Funktion, die es beim näheren Hinschauen sogar schon länger gibt und die man vor einiger Zeit selber geschrieben hat. Dann gibt es in meiner Utils-Unit zur Funktion ein "deprecated" und wird mit der Zeit ersetzt. Stöbern hat auch den Vorteil, dass man auch am Quelltext sich Ideen holen kann. So werden in der RTL immer mehr Funktionen in Records zusammengefasst. z.B. TFile und TDirectory. Damit freunde ich mich immer mehr an und fließt immer mehr in meinen Programmier-Stiel ein. |
AW: Neue Funktionen/Methoden der RTL etc finden
Kein Witz! Ich vergleiche mit jedem Release das Source-Verzeichnis der Delphi-Installation mit dem Vorgänger. Dabei fallen mir dann schon einige Konstrukte und Funktionen ein, die ich nun mit Bordmitteln erledigen kann. Bei der täglichen Arbeit weiß ich dann meistens schon: Moment, da war doch was!
Klar ist das natürlich nur dann halbwegs effizient machbar, wenn man jede neue Version auch installiert und möglichst auch einsetzt. Dieses Vorgehen hat noch einen angenehmen Nebeneffekt: Meine Sourcen werden, vorbehaltlich neuer Funktionalitäten, mit der Zeit immer kleiner und damit leichter wartbar. |
AW: Neue Funktionen/Methoden der RTL etc finden
Ich werfe dafür häufig die Google Suche an. Also eigentlich immer, bevor ich eine neue, nicht triviale aber möglicherweise häufig benutzte Funktion schreibe. Dann finde ich entweder heraus, dass es inzwischen eine RTL-Funktion dafür gibt, oder ich finde irgendwo eine fertige Funktion, die ich verwenden oder ggf. als Grundlage für eine eigene verwenden kann. Meist ist eines der ersten Ergebnisse auf StackOverflow, welches dadurch trotz des inzwischen miesen Klimas dort noch hilfreich ist.
Theoretisch könnte man natürlich auch in der Hilfe suchen, inzwischen ist die ja wieder annehmbar, aber die Suche dort ist einfach weniger bequem als Google-Suche nach
Code:
Leider rächt es sich dann wieder, dass ich für viele Entwicklungen immernoch auf Delhi 2007 angewiesen bin, denn häufig gibt es neue Funktionen erst in späteren Versionen.
"delphi" einige Stichworte
|
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
Ich kann mir aber (aus Zeitgründen) nur die gerade für mich relevanten Teile ansehen. Wenn ich den TE richtig verstehe geht es ihm (wie mir) mehr um die "header (interfaces)", um mal grob zu sehen wo es erwähnenswerte Unterschiede gibt, ohne sich erstmal durch alle Units zu wühlen. Vielleicht müsste man sich ein Tool bauen, was diese Interface-Section Syntax-Tree analysieren, und vergleichen kann (falls es das nicht schon gibt). |
AW: Neue Funktionen/Methoden der RTL etc finden
Es wäre schön, wenn es nicht notwendig wäre, dass wir Kunden nach Änderungen suchen müssen. Aber man bekommt es ja nicht mal hin, dass die Syntaxprüfung (zeitnah) der IDE an die Änderungen angepasst wird.
|
AW: Neue Funktionen/Methoden der RTL etc finden
So früh am morgen und schon solche negativen Vibrations im Raum?
|
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
Aber mal ehrlich: Das wäre etwas unrealistisch sowas von EMBA zu Verlangen. Wie oft lege ich neue Funktionen an, wie oft Refakturiere ich meinen Code ... Jede Änderung zu Dokumentieren würde ich nicht schaffen. Es sei denn: Das ginge automatisiert :-D (GIT mit Diff-Tool wäre da mein heimlicher Favorit, der könnte doch eine Change-List auswerfen) |
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
Die (Subscription-)Kosten sind ja auch nicht unerheblich. |
AW: Neue Funktionen/Methoden der RTL etc finden
Naja, mir ist noch lieber EMBA fixt Probleme, statt dass sie Unnötiges dokumentieren.
Wir Reden ja hier von den "kleinen" Unterschieden, nicht der "großen" Roadmap. |
AW: Neue Funktionen/Methoden der RTL etc finden
In Sachen Dokumentation fehlt ja leider mehr als nur ein paar "unnötigen" Details.
|
AW: Neue Funktionen/Methoden der RTL etc finden
Stimmt. Unvermutetes mittels Suche zu finden ist eher dem Zufall geschuldet und auch ich habe von Zeit zu Zeit noch so manches Aha-Erlebnis. Klassen zu finden bedingt deren Existenz zu kennen.
Wenn 3 Jahre später eine Klasse wird angeboten die ein 'damals' höchst aktuelles Thema adressiert fehlt einfach der Trigger. Zitat:
|
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
Erst mal einen Plan, was man machen möchte, mit Beschreibung was man zu erwarten hat (das nennt sich z.B. Spezifikation). Damit wäre im Prinzip auch die Dokumentation schon mal fertig. Jetzt die Implementierung gemäß der Spezifikation/Dokumentation nebst zugehörigen Unit-Tests. Und ehe man sich versieht ist man wesentlich produktiver weil man weniger Bugs/Probleme produziert. Durch die stellenweise fehlende Dokumentation kann man teilweise gar nicht sagen, ob es sich wirklich um einen Bug handelt oder ob es so gewollt war. |
AW: Neue Funktionen/Methoden der RTL etc finden
Wir müssen aber mit dem Leben was wir haben, und da ist es realistischer selber im Code nachzusehen.
|
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
![]() ![]() |
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
Wenn ich was brauche, suche ich lieber gezielt. Meistens mit Grep über den Quelltext der mit Delphi kommt, aber auch mit Google (meist auf Englisch, z.B. "array string concatenate separator delphi ") und finde dann ziemlich schnell ![]() |
AW: Neue Funktionen/Methoden der RTL etc finden
Ich habe mir einen Datenbank-Mapper für Code geschrieben, der alle Units analysiert und Funktionen, Klassen und Typen in eine Datenbank schreibt. Aktuell läuft das zwar nur in Testumgebungen, da nicht alles (wie zB. Generics oder variante Records) unterstützt wird, aber irgendwann werde ich es mal hier posten.
Damit kann man das dann sehr leicht machen, zumal es eine eigenst dafür entworfene Query-Language gibt. |
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
|
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
|
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
|
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
|
AW: Neue Funktionen/Methoden der RTL etc finden
Das ist ja erschreckend, wo soll das denn sonst festgelegt werden, etwa in den Verkaufsunterlagen ?
Aber Du hast wahrscheinlich Recht, denn um das rechtssicher zu machen müsste im Kaufvertrag "Kaufverträg über Kfz gemäß der zugesicherten Eigenschalten lt. Handbuch Rev. 1.0" stehen. Dann wäre das wohl bindend. Wenn das Manual nicht zuständig wäre müsste man wohl alle Eigenschaften im Kaufvertrag einzeln aufzählen: "Kaufverträg über Kfz mit 5 Gängen, Aschenbecher vo/hi.li/hi.re, Handschuhfach, mit Antenne, ... Das kann es doch auch nicht sein :stupid: |
AW: Neue Funktionen/Methoden der RTL etc finden
Das ist ja generell das Problem bei Software: Gäbe es eine umfassende und vollständige Spezifikation, könnte man das auch verifizieren. Aber wann hat man sowas schon.
Vermutlich ist die einzig haltbare Zusicherung bei Software, daß die CI-Testsuite durchläuft. Aber wer kann schon alles und in jeder denkbaren Kombination testen. |
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
Weil man das aber nicht tut, entstehen immer wieder Defekte, wenn irgendwas refactored wird. Beispiel: ![]() Siehe Dokumentation: ![]() Vergleich mit .NET Standard: ![]() |
AW: Neue Funktionen/Methoden der RTL etc finden
Zitat:
Manchmal ist es zwar ganz spannend vollständig undokumentierte Funktionalität in RTL oder VCL zu analysieren, besonderes effizient ist das allerdings nicht. |
AW: Neue Funktionen/Methoden der RTL etc finden
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 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