AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte DupeChecker - Duplikate im Source finden v1.3.5

DupeChecker - Duplikate im Source finden v1.3.5

Ein Thema von Union · begonnen am 28. Mär 2006 · letzter Beitrag vom 4. Dez 2021
Antwort Antwort
Seite 4 von 5   « Erste     234 5   
Benutzerbild von Union
Union
Registriert seit: 18. Mär 2004
Hallo Alle,

vielleicht kennt Ihr die Situation: Man arbeitet längere Zeit an einem größeren Projekt. Dabei geht man leider nicht immer nach OOP vor und arbeitet in großen Teilen mit Copy & Paste.

Irgendwann kommt der Zeitpunkt, zu dem ein Projekt nicht mehr wartbar und ziemlich aufgeblasen ist. Man kann natürlich aus der Erinnerung und nach Gefühl vorgehen, um ein Refactoring vorzunehmen. Aber gerade die nachträgliche Suche nach Stellen, die man zu Funktionen zusammenfassen könnte, dauert dann beliebig lange.

Genau hier hilft der DupeChecker:
  • Verarbeitet beliebig grosse Projekte
  • Findet Blöcke von dupliziertem Sourcecode
  • Wertet *.pas Dateien aus, beginnt ab implementation (über INI konfigurierbar)
  • Mindestgröße der als Duplikate erkannten Textblöcke über INI konfigurierbar
  • Zeigt die Treffer nach Zeilenanzahl sortiert an
  • Blendet den Sourcecode zur Kontrolle ein
  • Umfangreiche Sortier- und Filterfunktionen
  • Export der Duplikatsliste
Und vor allem ist er schnell und einfach zu bedienen:
  • Eingabe des Pfades, einer Datei oder einer Dateiliste (letzter benutzter Pfad wird in INI gespeichert)
  • Start drücken, etwas warten (z.B. 50000 Zeilen in 2,5 Sekunden)
  • Ergebnisse auswerten
Ich würde mich sehr über Anregungen sowie konstruktive Kritik freuen.
DupeCheck v 1.3.5
  • Nochmalige Geschwindigkeitssteigerung
  • Views (Liste/Hierachie) können mittels Ctrl-Mouseclick synchronisiert werden oder über Kontextmenü
  • Listenexport nach Excel
  • Verschiedene UI-Styles über Ini-Datei
  • in der Sourceanzeige "nebeneinander" werden die Blöcke nicht mehr selektiert, sondern die identischen Bereiche werden farblich hinterlegt
  • Besseres Speichermanagement für sehr grosse Projekte (getestet mit 2,5 Millionen Zeilen)
  • Als Dateiname kann auch eine Dateiliste angegeben werden. In dieser kann in jeder Zeile ein Dateiname oder ein Directory stehen.
  • Kontextmenüs in den Views
  • Sortieren und Filtern der Ansichten
  • Vergleichszähler auf 64 Bit geändert
DupeCheck v 1.3.4.1
  • Geschwindigkeit bis zu 30% schneller
  • Verarbeiten von Unterverzeichnissen
  • Verarbeiten einzelner Dateien
  • Entfernung von doppelten Duplikaten (!) aus der hierarchischen Anzeige
  • Verbessertes UI
  • Anzeige der Dateianzahl in Statuszeile
  • Eurekalog
DupeCheck v 1.3.3
  • Englische Benutzeroberfläche auf PC's mit Englischer Locale
  • Font kann über Systemmenü oder ini eingestellt werden
  • Position des Formulars, Spaltenbreiten und Splitterposition werden in ini gespeichert und bei Programmstart wieder ausgelesen

DupeCheck v 1.3 "BigMac"
  • Neue zusätzliche Visualisierung als Treeview. Dabei werden die Duplikate als Knoten angezeigt, die einzelnen Vorkommen im Sourcode als Childnodes. Leider wird die EXE dadurch fast 2x so groß. Naja, wer schön sein will muß leiden

DupeCheck v 1.2.1
  • Durch die Geschwindigkeitssteigerung wurden teilweise Duplikate falsch erkannt. Aufgrund Hinweis von Martin W behoben.

DupeCheck v 1.2 - Turbo
  • Geschwindigkeit der Analyse wurde um das bis zu 20-Fache gesteigert.
  • Division by zero tritt während der Fortschrittsanzeige nicht mehr auf, wenn Sourcecode kürzer als 100 Zeilen.

DupeCheck v 1.1
  • Pfadeingabe mit Auswahldialog über Button oder F4
  • Fehlermeldung, wenn im angegebenen Pfad keine Dateien existieren
  • Flackern der Listenanzeige beim Update behoben
  • Duplikate können durch Doppelklick auf Listeneintrag nebeneinander angezeigt werden mit synchronem Scrollen. Klick auf Headerzeile synchronisiert wieder auf die Anfangszeilen.
Angehängte Dateien
Dateityp: zip dupecheck_127.zip (932,6 KB, 98x aufgerufen)
Dateityp: zip dupecheck1330_394.zip (698,2 KB, 84x aufgerufen)
Dateityp: zip dupecheck1341_866.zip (810,5 KB, 52x aufgerufen)
Dateityp: zip dupecheck1350_363.zip (1,10 MB, 173x aufgerufen)
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
 
Benutzerbild von Motzi
Motzi

 
Delphi XE2 Professional
 
#31
  Alt 5. Mär 2008, 09:43
Zitat von Union:
Zitat:
So wie bei Motzis Tool wäre es super wenn die Minimum-Lines zur Laufzeit geändert werden können
Das ist natürlich möglich, aber durch das Klassen-Design etwas unangenehm zu realisieren. Denn bei mir ist MinLines eine Eigenschaft der Analyseklasse und nicht der GUI. Soll heissen, man könnte zwar den Filter in der GUI nach oben setzen, aber nicht unter den beim Analysieren gesetzten Wert. Duplikate kleiner als der Grenzwert werden nämlich erst gar nicht in die Struktur aufgenommen (Hauptspeicher).
Bei mir ist Min-Lines auch eine Eigenschaft der Analyseklasse, die UI-Komponente ist nur ein Filter. Beim VirtualTreeview haben Nodes nämlich auch eine Visible-Eigenschaft, sodass ich Duplikate mit weniger Zeilen als im Filter eingestellt einfach ausblenden kann.
Wie gesagt, ich kann dir die Verwendung des VirtualTreeviews wirklich empfehlen - er ist sehr schnell und vor allem auch sehr flexibel!
Gruß, Motzi
Manuel Pöter
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

 
Delphi 7 Enterprise
 
#32
  Alt 5. Mär 2008, 17:45
Hallo,

es ist eine neue Version verfügbar. Ich habe mal versucht einige der Vorschläge von Euch einfliessen zu lassen.
  Mit Zitat antworten Zitat
hoika

 
Delphi 10.4 Sydney
 
#33
  Alt 5. Mär 2008, 18:00
Hallo,

es wäre schön, wenn du madexcept benutzen würdest,
bei mi kommt nach einer gewissen Dateizahl eine Schutzverletzung,
genau bei 221 Dateien.

Korrektur:
Es scheint immer bei der letzten Datei zu sein.
Mache mal ein

try except

um dein Progressbar-Code.

Hast du das mal mit >200 Dateien geprüft ?

Oder einfach mal das Projekt (Quelltext) mal anhängst.


Heiko

PS:
Die Pas-Datei selbst ist es nicht, kopiere ich sie in ein separates
Verzeichnis, kann er die Lesen.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

 
Delphi 7 Enterprise
 
#34
  Alt 5. Mär 2008, 18:32
Hallo Heiko,

ich habe jetzt mal einen Test mit Subdirectories gemacht (mit genau der Version 1.3.4.0):
Zitat von DupeChecker:
67347 Zeilen aus 257 Dateien gelesen und 1586 Duplikate in 28,19 s gefunden. 34531684 Zeilen verglichen
Es lief problemlos komplett durch. Bei welcher Operation kam denn die AV: Suche der Dateien, Einlesen der Dateien, Analyse oder Visualisierung?

Ansonsten werde ich in der nächsten Version mal EurekaLog reinhängen.
  Mit Zitat antworten Zitat
hoika

 
Delphi 10.4 Sydney
 
#35
  Alt 5. Mär 2008, 19:21
Hallo,

kommt beim ersten Schritt (Einlesen),
wenn er unten die Dateien anzeigt.
Es ist immer fast am Schluss.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

 
Delphi 7 Enterprise
 
#36
  Alt 5. Mär 2008, 19:34
Ich habe eine neue Version mit Eurekalog erstellt, wenn der Fehler auftritt schick mir doch bitte die elf Datei.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

 
Delphi XE8 Enterprise
 
#37
  Alt 8. Mär 2008, 23:44
Hallo,

habe heute mal Dein Tool DupeCheck v 1.3.4.1 "Hoika Edition" runtergeladen. Ist ja ganz nett gemacht. Ich habe aber zwei kleine Anmerkungen :
  • Ich kann nicht mehrere Überprüfungen nacheinander machen.
  • Darstellungsproblem beim Starten des Programms (siehe Screenshot)
Miniaturansicht angehängter Grafiken
darstellung_211.jpg  
Rolf Warnecke
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

 
Delphi 7 Enterprise
 
#38
  Alt 9. Mär 2008, 15:38
Wenn Du die Spalten manuell veränderst, merkt sich das Programm die eingestellten Breiten in einer INI und verwendet sie auch beim nächsten Start, das sollte also eine einmalige Sache sein.

Das Problem mit den mehrfachen Analysen ist mir bekannt, wird in der nächsten Version behoben sein.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

 
Delphi 7 Enterprise
 
#39
  Alt 10. Mär 2008, 11:36
Hallo alle,

es ist eine neue Version 1.3.5 verfügbar, siehe Originalposting
  Mit Zitat antworten Zitat
shmia

 
Delphi 5 Professional
 
#40
  Alt 4. Dez 2008, 17:49
Feature-Request:
Die Dateinamen bei Quelle und Ziel sollten ohne den Basispfad angezeigt werden.
Das würde helfen, die Unitnamen optisch schneller zu erfassen.
Andreas
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf