AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte UnitOptimizer
Thema durchsuchen
Ansicht
Themen-Optionen

UnitOptimizer

Ein Thema von stahli · begonnen am 25. Mai 2018 · letzter Beitrag vom 31. Okt 2021
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: UnitOptimizer

  Alt 30. Okt 2018, 10:38
Danke Euch, ist aber noch ein weiter Weg.

Bezüglich des weichen Umbruchs werde ich mal mit #00#0A#0D experimentieren oder mit #0A oder #0D statt #0A#0D.
Mal sehen, was Delphi da im Editor und Parser toleriert...
Es wäre halt schön, erkennen zu können, welche Umbrüche vom Optimizer eingefügt wurden.
Ich könnte da auch optional verschiedene Varianten ermöglichen, für den Fall, dass bestimmte Kennzeichnungen (in bestimmten Delphi-IDEs) Probleme machen sollten.

@generic
Da sehe ich auch gar kein Problem, das optional anzubieten.
Man hätte dann für die einzelnen Code-Abschnitte die Möglichkeit, bestimmte Vorgaben auszuwählen (für den uses-Block dann "OneUnitPerLine").
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (30. Okt 2018 um 10:51 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: UnitOptimizer

  Alt 30. Okt 2018, 11:52
Zitat:
Da sehe ich auch gar kein Problem, das optional anzubieten.
Man hätte dann für die einzelnen Code-Abschnitte die Möglichkeit, bestimmte Vorgaben auszuwählen (für den uses-Block dann "OneUnitPerLine").
Ich habe ja nicht zu sagen.. aber ich würde mir einen Formater wünschen bei dem man nicht zu viele Einstellmöglichkeiten hat.
In die IDE einbinden - Formatieren klicken fertig!

Anschließend das Ergebnis wie bei dir in den Bildern.
Vollkommen ausreichend.

Funktionen, Proceduren Alphabetisch anordnen für jede Classe einzeln.
Das war's einfach, simple, schnell. (Ich meine natürlich die Bedienbarkeit)

gruss

Geändert von EWeiss (30. Okt 2018 um 11:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: UnitOptimizer

  Alt 30. Okt 2018, 12:01
Na ja, wer mit den Standardeinstellungen leben kann, muss ja keine Optionen ändern.

Eine alphabetische Funktionssortierung hatte ich allerdings nicht vorgesehen. Statt dessen soll sich standardmäßig der Implementationsteil immer nach der Reihenfolge in der Klassendeklaration richten.

Wenn dies abweichend alphabetisch sein soll, müsste ich eine Option zur Auswahl anbieten (und man müsste klären, ob in den Klassensektionen (private, public etc.) oder nur im Implementationsteil sortiert werden soll - wie es jetzt annähernd die IDE macht).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: UnitOptimizer

  Alt 30. Okt 2018, 12:06
Zitat:
Eine alphabetische Funktionssortierung hatte ich allerdings nicht vorgesehen
In der Structur Ansicht sind die Funktionen Alphabetisch sortiert da bietet sich es doch an das auch im Code so zu handhaben.
Ich habe ja einen Formatierter jcf_243 aber genau hier liegt das Problem zuviele Einstellmöglichkeiten die einen fast erschlagen.

Da bleibe ich dann doch lieber bei dem in der IDE integrierten und nehme das was ich habe. Tabweite 4 und gut ist.
Alles andere bleibt wie es ist.

gruss
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#5

AW: UnitOptimizer

  Alt 30. Okt 2018, 12:10
Mal als Neuling-line eine Frage.
Was macht die Unit? Ich werde aus dem Video und der Einleitung nicht schlau.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: UnitOptimizer

  Alt 30. Okt 2018, 12:56
Meinst Du, was der Optimizer macht?

Schaust Du mal bitte unter Beitrag #3? Da hatte ich das nochmal zusammengefasst.
Ansonsten gehe ich gern nochmal darauf ein, aber vielleicht klären sich die Fragen ja schon damit.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: UnitOptimizer

  Alt 23. Aug 2019, 22:21
Die Interface-Formatierung nimmt schon Formen an.

Die "Getter+Setter"-Region wird ein kommerzielles Feature werden.

Die sonstigen Member habe ich zunächst nach der Reihenfolge "function, procedure, property" sortiert.
Macht das Sinn?

Da wären aber auch andere optionale Regeln möglich. Aber welche wären sinnvoll?
Es könnte auch (vorranging oder nachrangig) nach dem Member-Namen sortiert werden.
Oder es wird gar nicht automatisch sortiert.

Gleiches gilt für das Zusammenfassen von Gettern und Settern am Anfang und die interne Sortierung des Blocks.

Machbar wäre da vieles.

Ein echtes Problem sind zeilenweise Kommentare (also für eine ganze Zeile) und Leerzeilen.
Derzeit werden solche Zeilen an des Ende des Interfaces verschoben.

Die Frage wäre, wie solche Zeilen sonst zugeordnet werden sollen!?
Ich kann noch unterscheiden, ob ein Kommentar Code enthält oder nicht. Aber würde es Sinn machen, eine auskommentierte Prozedur innerhalb der echten Members einzusortieren?


Ich frage hier mal so umfangreich, weil ich entsprechende Lösungen dann auch an anderen Stellen entsprechend berücksichtigen kann.


PS: Die Ausrichtung der Getter und Setter untereinander habe ich vorhin in 5 Minuten erledigt. Das Parsing- und Optimierungskonzept scheint mir jetzt doch ganz brauchbar zu sein...
Miniaturansicht angehängter Grafiken
23-08-_2019_22-58-50.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (23. Aug 2019 um 23:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: UnitOptimizer

  Alt 4. Okt 2019, 22:59
So, hier mal eine erste richtige Testversion.

Das ist eine Exe mit zwei Editoren.
Eine Testunit wird links geladen und rechts überarbeitet dargestellt.

Den Text könnt Ihr testweise in Delphi kopieren.
Ebenso Eure Units per C&P in den linken Editor und rechts das Ergebnis anschauen.

Später wird der Optimizer natürlich in Delphi eingebunden und ist dann über Hotkey zu starten.

Hier ein Video dazu: https://youtu.be/8kKV0fHR_ys

Bisher gab es ja nicht so gute Resonanz auf meine Idee.
Wäre aber lieb, wenn Ihr Euch das mal real in einer ersten Testversion anschauen könntet.

Besondere Code-Konstrukte werden vielleicht noch nicht gehen, aber es ist auch noch nicht komplett fertig.

Aktuell fallen mir folgende Punkte ein, die noch nicht funktionieren dürften:
- overloads (natürlich nicht overlays ;-( )
- anonyme Methoden
- class vars
- und alles in Bezug auf Codevervollständigung natürlich
- Optionen sind noch eingeschränkt

Die Formatierung und Sortierung (das was jetzt etwa zu sehen ist) soll es kostenfrei geben (bis auf die Getter+Setter-Regionen).

Mit zwei kostenpflichtigen Versionen wird man dann noch Codevervollständigung incl. Interfaceunterstützung haben.
Das wird so weit gehen, dass man Interfaces in einem Projekt erweitern/verändern kann und die Klassen in diesem Projekt aber auch in anderen Projekten, die diese Interfaces verwenden, automatisch angepasst werden (abgesehen von der Logik natürlich).
Angehängte Dateien
Dateityp: zip UnitOptimizer.zip (1,20 MB, 23x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli ( 6. Okt 2019 um 11:11 Uhr)
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: UnitOptimizer

  Alt 7. Okt 2019, 11:04
Moin,

habe es eben mal ausprobiert: Meine Unit komplett kopiert und in dein Programm eingefügt. Leider startete damit eine Schleife unendlicher Zugriffsverletzungen, die jegliche Interaktion mit dem Programm verhinderten. Ich konnte es nur noch über den Taskmanager beenden .

Gruß
hsg
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: UnitOptimizer

  Alt 3. Mai 2020, 16:01
Ich habe mal eine Einrückung von Fluent-Interfaces umgesetzt: https://youtu.be/EKxBDecttOU (5 Min).

Sagt mir doch mal bitte, was Ihr davon haltet (insbesondere @Mavarik).

Nutzt das jemand und haltet Ihr die Umsetzung für tauglich?


EDIT: Das Einrücken unterhalb von Punkten habe ich doch noch realisiert (zwei neue Screenshots).
Es kann natürlich Fälle geben, in denen die Einrückung zu weit nach rechts reicht... !?
... Dann geht aber auch der Umbruch am ersten Punkt (Bild3).
Miniaturansicht angehängter Grafiken
04-05-_2020_02-03-23.jpg   04-05-_2020_01-56-10.jpg   04-05-_2020_00-22-42.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli ( 4. Mai 2020 um 01:07 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:07 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