Frage

In einem Projekt habe ich einige CSS-Dateien gefunden, die "riechen", als wären sie kopierte Regeln.

Ich frage mich, was Ihre Strategien für das Erkennen von Kopienpasteten in Dateien sind.

Nur Neugier würde ich gerne Ihre Tipps und Tricks hören, um Datei Ähnlichkeiten anzuzeigen!

War es hilfreich?

Lösung

Versuchen Simian.

Es wird für die Kopierkopie in Quellcode (Java, C#, C, C ++, Cobol, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy) verwendet. Sie können dies jedoch auch auf einfachen Textdateien ausführen.

Andere Tipps

Auf SourceForge gibt es ein Copy-Paste-Erkennungsprojekt (CPD). http://pmd.sourceforge.net/cpd.html

Aber selbst in großen Projekten finde ich mein eigenes Wissen über den Code als zuverlässiger (wenn auch nicht narrensicher) Erkennungsmechanismus.

Siehe auch diese Frage für andere Vorschläge.

Unser Semantische Entwürfe Clonedr ist ein Tool, das Codeblöcke für Kopienpaste für viele Sprachen erkennt: C, C ++, Java, C ++, Cobol, ECMascript, PHP, VB6, VB.NET, ...

Es wird mit sprachgenauen Parsers verwendet, um abstrakte Syntaxbäume zu erstellen, die exakte Programmstrukturen entsprechen, die dann für die Ähnlichkeit verglichen werden. Dies bedeutet, dass es in keiner Weise durch Whitespace, Formmattierung, Kommentare oder sogar andere "Rechtschreibung" von Literalen (z. B. 3.14159 identisch ist wie .00314150e3).

Es generiert einen Bericht, der zeigt exakt Wie die Codeblöcke ähnlich sind und genau wie sie variieren. Sie können Beispielberichte unter dem Link sehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top