2012-04-18 9 views
14

Gibt es eine Bibliothek in Python für die Überprüfung von doppelten Code? Ich benutze Python IDE und ich finde Probleme beim Refactoring meines Codes. Gibt es eine Python-Bibliothek, die doppelten Code im Programm/Projekt vorschlägt?Entfernen von doppeltem Code in Python

Update: Ich Klon Gräber gefunden, die als pro Standort,

Wir Clone Digger getestet haben sich auf Quellen von mehreren Open-Source-Projekte. Es gibt folgende Nachteile des aktuellen Berichtsformats:

Unterschiede werden mit dem Diff-Algorithmus hervorgehoben. Dieser Weg der Hervorhebung hat nichts gemeinsam mit dem abstrakten Syntaxbaum basierend Algorithmus zum Vergleich Sequenzen von Aussagen für die Ähnlichkeit.

Klassen- und Funktionskommentare werden während der Ähnlichkeitsberechnung berücksichtigt, sie werden jedoch nicht in der Ausgabe angezeigt. Daher können einige Klonpaare gleich aussehen, aber als konvergent markiert werden.

Gibt es irgendwelche besseren Werkzeuge?

+0

Versuchen Sie es googeln? – Marcin

+2

@Marcin: Ich hätte mich gefreut, wenn Sie etwas vorgeschlagen hätten, was darauf hindeutet, dass es Tonnen davon gibt. Ich habe so etwas wie Klon Digger gefunden, aber es scheint mir nicht vielversprechend. –

+0

Warum erscheint es nicht vielversprechend? Warum hast du nichts von denen erwähnt, die du gefunden hast? – Marcin

Antwort

-11

Nein, es gibt keinen doppelten Codeüberprüfer, da es keine Möglichkeit gibt, leicht zu unterscheiden, ob es wiederholt wurde oder nicht, da abhängig vom Programm möglicherweise Abhängigkeiten vom Code "dupliziert" sind und Dinge überschrieben werden können ect. . Alles in allem, nein, es gibt keinen doppelten Code-Checker, den ich für Python kenne. Die Verwendung einer besseren IDE, die die Verwendung von Variablen überwacht, kann in diesem Fall jedoch hilfreich sein. :)

+2

Es wäre schön, eine Bibliothek zu haben, die nur für die Überprüfung vorschlagen kann. –

+0

Was bedeutet diese Antwort? Natürlich ist es möglich, den Text des Python-Codes wie bei jeder anderen Sprache auf Duplizierung zu überprüfen. – Marcin

+0

@Marcin Ich weiß, dass Sie es überprüfen können, aber das OP fragt nach einer Bibliothek, um es für ihn zu überprüfen (atleast das ist, was ich denke, hes versucht zu fragen) –