Ist es möglich, die Erkennung von doppeltem Code in Intellij zu deaktivieren?

144

Ist es möglich, die Erkennung von doppeltem Code in Intellij zu deaktivieren?

Ich habe diese Funktion nicht als nützlich empfunden und sie lenkt mich weiterhin ab.

zudduz
quelle

Antworten:

201

Nur in IntelliJ Ultimate verfügbar:

Um die Erkennung von doppeltem Code zu deaktivieren, gehen Sie zu

Datei → Einstellungen → Editor → Inspektionen → Allgemein → Dupliziertes Codefragment

und deaktivieren Sie das Kontrollkästchen "Codefragment duplizieren". Vervielfältigung des Intellij-Codes

Vojtech Ruzicka
quelle
4
Diese Option ist in der IDEA Community Edition nicht verfügbar.
Saikat
4
@takias Erkennung von doppeltem Code ist in der Community Edition überhaupt keine Funktion. Es ist nur in der Ultimate Edition vorhanden.
VRE
2
Tatsächlich funktioniert es, nachdem Sie die Datei geschlossen haben, an der Sie arbeiten, und sie erneut öffnen oder die IDE neu starten, nachdem Sie diese Einstellungen
angewendet haben
1
Die vorgeschlagenen Maßnahmen sollten bieten, um zu diesem Bildschirm zu gelangen, damit wir diese Codeprüfungen einfacher deaktivieren können.
Shadoninja
157

Fügen Sie Ihrem Code einen Hinweis hinzu, damit andere Ihre Absicht kennen:

@SuppressWarnings("Duplicates")
Max Barrass
quelle
3
Dies ist die technische Antwort, Danke
Yougesh
14
Beste Lösung, da sie die Unterdrückung von Kriegen ermöglicht, wenn Duplikate beabsichtigt sind.
user2120275
2
^ Mach das, deaktiviere es nicht vollständig. Doppelter Code ist Code-Geruch, außer an einigen Stellen
Carson Graham
Machst du Witze? Code hinzufügen, um IDE-Mangel auszugleichen?
ACV
15

Ja, das ist möglich , aber ich würde dringend davon abraten!

Doppelter Code ist eine Form der technischen Verschuldung. Jeder doppelte Code, der einen Fehler enthält, bedeutet, dass Sie jetzt einen doppelten Fehler haben. Sie laufen dann Gefahr, dass Sie ihn bei der Behebung nur an einer Stelle beheben und das Duplikat verbleibt ...

Wenn doppelte Code-Warnungen Sie ablenken, besteht die beste Strategie, um sie zu entfernen, darin, die Code-Duplizierung zu entfernen ... Ihre Codebasis und zukünftige Betreuer werden es Ihnen danken

Kevin Wright
quelle
40
OK, aber manchmal habe ich die alte und die neue Version derselben Klasse. Dort ist die Vervielfältigung normal, ich brauche die Warnung nicht. Es ist nur sehr aufdringlich und verbirgt viele andere nützliche Warnungen. Die Frage ist legitim.
Florian F
3
Ich finde, dass es fälschlicherweise für Unit-Tests mit ähnlichen Setups ausgelöst wird. Manchmal kann ich es nicht zum Verschwinden bringen, selbst wenn ich die Tests ziemlich stark ändere.
Julian Jocque
8
Es ist nicht immer so einfach, alle Duplikate loszuwerden! Zum Beispiel gibt es in Web-Controllern viele Ähnlichkeiten, die als Duplikate gekennzeichnet sind und keine exakten Duplikate sind. Die Vorteile der logischen Trennung Ihrer Controller sind in vielerlei Hinsicht nützlich, und das ist nur ein Beispiel. Pragmatisch nicht puristisch bekommt Projekte nach meiner Erfahrung geliefert.
Shawn Vader
5
Sie behaupten, es sei möglich und beschreiben doch nicht, wie. Es gibt viele Situationen, in denen es keinen Sinn macht, zu versuchen, zu abstrahieren. Bitte sagen Sie mindestens "Ja, hier ist wie, ABER ..."
Dilapidus
3
Diese Antwort hat überhaupt nichts mit der Frage zu tun.
ACV
5

Diese Antwort mag wenig irrelevant sein, aber ich fand sie hilfreich. Wenn Sie diese Antwort für einen bestimmten Codeblock deaktivieren möchten, nicht für die gesamte Methode, Klasse oder Idee, fügen Sie einfach die folgende Zeile direkt vor diesem Codeblock hinzu

//noinspection Duplicates

Hinweis: Sie können nach dieser Zeile keinen weiteren Kommentar einfügen.

Emdadul Sawon
quelle