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 7. Jan 2021, 11:33
Hallo zusammen,

da bisher keinerlei Reaktion auf meine Mitteilung und Videos (15 Views auf die Zusammenfassung gab es) erfolgt ist, will ich hier mal pushen.
Vielleicht ist es ja auch etwas untergegangen auf Grund der Feiertage...

Gebt mir doch mal gern eine Rückmeldung, auch wenn sie skeptisch oder negativ ausfällt.
Haltet Ihr das Tool für unnötig oder habt Ihr das Anliegen nicht nachvollziehen können?
Seid Ihr zu skeptisch, was die Qualität und Stabilität betrifft?
Habt Ihr nicht die passenden Voraussetzungen für einen Beta-Test (falsches Delphi oder mögliche Probleme wegen einem Versionierungssystem)?

Ich arbeite jetzt mit Unterbrechungen 3 Jahre daran und hatte auf ein allgemeines Interesse gesetzt.
Zwar habe ich das natürlich für den eigenen Bedarf angefangen, der Umfang hat sich aber immer weiter ausgedehnt, da ich ein grundsätzliches Interesse an einem solchen Tool vorausgesetzt habe.

Gebt mir doch mal bitte eine Rückinfo. Das wäre lieb.




Und noch eine inhaltliche Frage.
Im Moment macht mir der Umgang mit den bedingten Compilierungen noch Probleme.
Zunächst einmal interpretiert der Formatierer derzeit die mehrfachen "end;" noch als Fehler und geht davon aus, dass die Unit nicht korrekt abgeschlossen ist.
Dazu muss ich ihm noch beibringen, dass er die IFDEF-ELSE-ENDIF-Blöcke jeweils getrennt voneinander bewerten bzw. hier nicht eindeutig abgeschlossene Blöcke tolerieren muss. Wird schwierig werden.
Dann bin ich mir bezüglich der Einrückungen auch nicht sicher, was die beste Form wäre. Anbei mal einige Beispiele als Bild.
Ich würde die Variante 4 bevorzugen. Wie seht Ihr das?


Anbei mal noch der Quelltext, falls den mal jemand zurecht schieben möchte...
Delphi-Quellcode:
unit ifelseendif;

interface

implementation

uses
  System.SysUtils;

procedure hallo;
begin
  if true then
    begin
    {$IFDEF level1}
      Sleep(0);
    {$ELSE}
      if true then
        begin
        {$IFDEF level2}
          Sleep(1);
        end; //: ????????????????????????
        {$ELSE}
          Sleep(2);
        end; //: ????????????????????????
        {$ENDIF}
    {$ENDIF}
    end;
  Sleep(3);
end;

end.
Miniaturansicht angehängter Grafiken
07-01-_2021_10-34-43.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#2

AW: UnitOptimizer

  Alt 7. Jan 2021, 12:23
Nur mal als Hinweis: da ist ein end; zu viel oder eins muss durch ein else ersetzt werden.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.948 Beiträge
 
Delphi 12 Athens
 
#3

AW: UnitOptimizer

  Alt 7. Jan 2021, 19:47
Haltet Ihr das Tool für unnötig oder habt Ihr das Anliegen nicht nachvollziehen können?
Die Formatierung halte ich persönlich und rein subjektiv für unnötig bzw. der Lesbarkeit abträglich (die Meinung kennst du ja ), von daher interessiert mich dieser Teil auch nicht. Ich nutze den integrierten Formatter und halte mich an die Standards, egal in welcher Sprache.

Interessieren würde mich die Suche. Da habe ich noch keine wirklich schöne Lösung gefunden, egal ob das Grep von den GExperts (das am ehesten an meine Vorstellungen herankommt) oder andere.

Habt Ihr nicht die passenden Voraussetzungen für einen Beta-Test (falsches Delphi oder mögliche Probleme wegen einem Versionierungssystem)?
Ich habe leider nicht genug Zeit um wirklich zu testen.

Und da ich dazu noch an der Formatierung nicht interessiert bin, bin ich als Tester eher nicht der richtige. Normal nutzen könnte ich die Suche natürlich (so oft brauche ich die aber gar nicht) und sagen was mir auffällt, aber mehr nicht.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: UnitOptimizer

  Alt 8. Jan 2021, 09:50
@Moombas

Das Problem in dem Beispiel sind die Bereiche im $IFDEF.
Das war mal ein Beispiel, das ich irgendwo gefunden habe.
Wenn man das "end" einmal hinter das erste $ENDIF schreiben würde, wäre das wohl korrekt und nachvollziehbarer.
Der Compiler kommt aber so mit dem Code auch klar und der Formatierer sollt das entsprechend auch.
Deswegen suche ich auch für diese Form eine Lösung.

Die habe ich aber jetzt erst mal zurück gestellt, da sie wohl nicht wirklich als dringend erscheint.


@jaenicke

Ok, schade. Ich finde die Formatierung sehr hilfreich.

Die Suchfunktion kann ich Dir gern mal zu Verfügung stellen, aber würde noch etwas warten bis die Kinderkrankheiten raus sind.

Wäre das eigentliche Ziel des Optimizers was für Dich?
Schau mal in ein altes Video: https://youtu.be/q7X_gxcz12I?t=19 (3 Min)

Ich bin jetzt gerade dabei, die Funktion wieder neu aufzubauen...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#5

AW: UnitOptimizer

  Alt 8. Jan 2021, 10:14
@Moombas

Das Problem in dem Beispiel sind die Bereiche im $IFDEF.
Das war mal ein Beispiel, das ich irgendwo gefunden habe.
Wenn man das "end" einmal hinter das erste $ENDIF schreiben würde, wäre das wohl korrekt und nachvollziehbarer.
Der Compiler kommt aber so mit dem Code auch klar und der Formatierer sollt das entsprechend auch.
Deswegen suche ich auch für diese Form eine Lösung.

Die habe ich aber jetzt erst mal zurück gestellt, da sie wohl nicht wirklich als dringend erscheint.
Was ich meine ist, wenn ich das erste "begin" markiere, müsste er das zugehörige "end;" markieren, was in deinem Beispiel bei mir das vorletzte ist (Siehe Anhang), da er das im Screenshot ausgegraute "end;" mit betrachtet.
Miniaturansicht angehängter Grafiken
unbenannt.jpg  
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas ( 8. Jan 2021 um 10:16 Uhr)
  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 8. Jan 2021, 10:33
Ich habe mit der bedingten Formatierung selbst keine Erfahrungen.
Man muss dazu die Bedingungen (Flags) festlegen, um dem Compiler zu sagen, welchen Block er compilieren soll.
In dem Beispiel entweder Sleep(1) oder Sleep(2).
Das Dumme in dem Beispiel ist, dass in beiden Bereichen ein "end;" steht.
Der Compiler nimmt dann das erste end oder das zweite end. Insofern ist für ihn alles ok.
Mein Formatierer kommt aber mit einer solchen (eher ungewöhnlichen) Konstellation noch nicht klar.
Dafür will ich mal noch eine Lösung finden. Aber später mal.

In dem Zusammenhang hätte mich auch ehr interessiert, welche Einrückungsvarianten Ihr bevorzugen würdet.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.686 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: UnitOptimizer

  Alt 8. Jan 2021, 13:25
da bisher keinerlei Reaktion auf meine Mitteilung und Videos (15 Views auf die Zusammenfassung gab es) erfolgt ist, will ich hier mal pushen.
Vielleicht ist es ja auch etwas untergegangen auf Grund der Feiertage...
Ohne Dich demotivieren zu wollen:
Ich lese Delphi Praxis quer. Ab und an sehe ich ein interessantes Thema, das ich mir dann genauer ansehe, dazu gehörte auch der UnitOptimizer.
Aber jedes mal auf Links zu den Videos klicken und sie mir anzuchauen ist mir zu lästig. Das habe ich zwei-, dreimal gemacht, aber der Nutzen steht für mich in keinem Verhältnis zum Aufwand.
Thomas Mueller
  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 8. Jan 2021, 13:41
Danke Dir trotzdem.

Ja, mit dem Aufwand hätte ich so auch nicht gerechnet, wollte aber dann trotzdem weiter dran bleiben.

Aber die Klassen- und Interfacevervollständigung war genau das, was mir immer bei der Arbeit gefehlt hat.
Die anderen Dinge waren dann eher Beiwerk u d haben sich zusätzlich ergeben.

Videos finde ich persönlich immer die beste Art, etwas zu erklären oder zu zeigen.
Ich wüsste nicht, wie ich die Zwischenstände besser und schneller vermitteln könnte.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#9

AW: UnitOptimizer

  Alt 8. Jan 2021, 13:54
Hi Stahli,

zur Einrückungsvariante, die ich bevorzuge:
Delphi-Quellcode:
procedure hallo;
begin
  if true then
  begin
    Sleep(0);
    if true then
    begin
      Sleep(1);
    end;
  end;

  if true then
  begin
    Sleep(1);
  end else
  begin
    Sleep(2);
  end;

  if true then
  begin
    Sleep(1);
  end else if true then
  begin
    Sleep(2);
  end;

  if (true) or
     (true) then
  begin
    Sleep(1);
  end;

  //...

  Sleep(3);
end;
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  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 8. Jan 2021, 14:06
@Moombas

Sorry, da hatte ich mich unklar ausgedrückt.
Mir ging es jetzt um die Einrückungen im Zusammenhang mit den bedingten Kompilierungen.
Also die Blöcke
Delphi-Quellcode:
        {$IFDEF level2}
          ...
        {$ELSE}
          ...
        {$ENDIF}
und darin enthaltenem Code.


@ringli

Vielen Dank, das freut mich schon mal.
Das werde ich auch gern später so machen, im Moment würde ich mich aber lieber auf einen "kleinen harten Kern" begrenzen, da noch einiges zu tun ist.
Auch Probleme sind noch nicht ganz ausgeschlossen. (Nicht, dass ein gesamtes Projekt zerschossenen wird, aber dass mal eine Unit noch nicht ordentlich formatiert werden könnte.)
Ich muss dann in der IDE auch verschiedene Optionen bereitstellen, da die Vorstellungen und Wünsche bezüglich der Formatierung schon sehr unterschiedlich sind.
Also für einen kompletten offenen Test ist es leider noch zu früh.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  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 21:41 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