Zitat von
Motzi:
Positiv:
- Sehr schnell bei der Duplikatsuche
Ich habe eine spezielle "Memory-Dataset" Klasse verwendet, die auf den Anwendungsfall hin optimiert und indiziert ist. Das könnte sogar noch doppelt so schnell werden, denn die meiste Zeit wird für den Progressevent verbraten (hab's allerdings nicht gemessen).
Zitat von
Motzi:
Negativ:
- Ich finde die Aufbereitung nicht unbedingt optimal
- Wenn gleiche Codeschnipsel unterschiedliche Kommentare haben, werden sie als unterschiedlich bewertet
- Unterschiede in der Formatierung werden ebenfalls nicht berücksichtigt
Das Programm sollte ja auch hoffentlich nicht ständig eingesetzt werden. Man sollte damit einen Einstiegspunkt zum Refactoring finden. Die Kommentare ganz zu ignorieren birgt ja auch Gefahren in sich, z.b. wenn man doppelten Sourcecode absichtlich zur Performancesteigerung eingesetzt hat (inlining).
Die einzigen Anpassungen die stattfinden, sind Entfernen aller Leerzeichen und die Umwandlung in Uppercase jeder Zeile. Diese Strings werden gehashed und nur die Hashs werden dann bei der Analyse verglichen, deshalb auch der Speed. Das kann man natürlich anpassen (z.b. Entfernung von Tabs).