Zum Hauptinhalt Zur Navigation Zur Suche

IDE: IntelliJ-Plugin erkennt Copy-Paste-Code

Das Kopieren und Einfügen von Code gehört zum Programmieren dazu, sagt Jetbrains. Besser ist es offenbar aber ohne.
/ Sebastian Grüner
9 Kommentare News folgen (öffnet im neuen Fenster)
Der Anti-Copy-Paster soll kopierten Java-Code erkennen. (Bild: Jakub Porzycki via Reuters Connect)
Der Anti-Copy-Paster soll kopierten Java-Code erkennen. Bild: Jakub Porzycki via Reuters Connect

Ein Forschungsteam von Jetbrains, das bekannte Entwicklungswerkzeuge wie die IDE IntelliJ IDEA erstellt, und Forscher der Wirtschaftshochschule Moskau (HSE University) haben mit Anti-Copy-Paster ein experimentelles Plugin(öffnet im neuen Fenster) für die IDE erstellt, welches das Kopieren und Einfügen von Code erkennt und Alternativen zu damit entstandenen Duplikaten vorschlägt.

In einer zu dem Plugin erstellten wissenschaftlichen Ausarbeitung(öffnet im neuen Fenster) heißt es: "Kopieren und Einfügen sind ein wesentlicher Bestandteil beim Schreiben von Programmiercode". Der Vorgang werde darüber hinaus überwiegend verwendet, um ähnliche Funktionalität umzusetzen und werde sehr häufig verwendet. Daran selbst sei zwar nichts falsch, Forschung habe aber gezeigt, dass dadurch die Code-Pflege schwerer werde und auch das Beheben von Sicherheitslücken werde verkompliziert. Stammen die eingefügten Code-Schnipsel gar aus anderen Projekten oder Webseiten, könnte Copy-Paste auch zu Lizenzproblemen führen.

Der Anti-Copy-Paster soll diese und weitere Probleme überwinden, indem der Vorgang erkannt wird. Sollte der eingefügte Code nach einiger Zeit nicht weiter verändert werden und eine entsprechend vorher per Machine Learning erstellte Metrik dies anweisen, wird in der IDE eine Neugestaltung des Codes vorgeschlagen.

Konkret wird dabei vorgeschlagen, den Code herauszulösen und eine eigene Methode dafür zu erstellen. Im Fall von IntelliJ wird dazu die eingebaute Extract-Methode(öffnet im neuen Fenster) verwendet, die auch unabhängig von dem Plugin eingesetzt werden kann. Bisher steht dies nur für Java bereit, nicht für die anderen von Jetbrains unterstützten Programmiersprachen und IDEs. Ob es dazu kommt, ist auch noch nicht klar, so schreibt das Team, dass die Funktion vor allem einer Nutzerevaluation unterzogen werden soll.


Relevante Themen