Ich verwende SonarQube für meine Java-Projekte und möchte Code-Duplikationen so weit wie möglich aus unserem Code entfernen.Kann SonarQube Code-Duplikationsdetektor parametrisiert werden, um an Methodengrenzen zu stoppen?
Mein Problem ist, dass SonarQube Code-Duplikationserkennung Methodengrenzen nicht berücksichtigt. Sie listet identische Dateiteile als Duplikate auf, und oft beginnt eine Duplizierung mitten in einer Methode und endet in der Mitte einer anderen. Diese können kaum refaktoriert werden.
Hier ist ein example. Klicken Sie im oberen rechten Listenfeld auf Datei MavenArtifactRepository.java und schauen Sie sich den vierten Duplizierungsblock im unteren Teil der Seite an.
Gibt es eine Möglichkeit, das Code-Duplizierungs-Detektor-Plug-in zu parametrisieren, um Duplikate zu zeigen, die syntaktisch kohärent sind?
Schauen Sie sich unser CloneDR-Tool an; Es wird ein AST-basiertes Matching durchgeführt, das Codestrukturgrenzen wie Methoden implizit berücksichtigt. Siehe meine Biographie. (Ich würde einen Link bereitstellen, aber SO scheint meine Tool-Links zu hassen). –