Est-il possible de désactiver la détection de code en double dans Intellij?

145

Est-il possible de désactiver la détection de code en double dans Intellij?

Je n'ai pas trouvé cette fonctionnalité utile et elle continue de me distraire.

zudduz
la source

Réponses:

201

Uniquement disponible dans IntelliJ Ultimate:

Pour désactiver la détection de code en double, accédez à

Fichier → Paramètres → Éditeur → Inspections → Général → Fragment de code dupliqué

et décochez la case "Fragment de code en double". duplication de code intellij

Vojtech Ruzicka
la source
4
Cette option n'est pas disponible dans l'édition communautaire IDEA.
Saikat
4
La détection de code en double @takias n'est pas du tout une fonctionnalité de l'édition Community. Il n'est présent que dans l'édition Ultimate.
AER
2
En fait, cela fonctionne après avoir fermé le fichier sur lequel vous travaillez et le rouvrir ou redémarrer l'IDE après avoir appliqué ces paramètres
ACV
1
Les actions suggérées devraient nous proposer de nous diriger vers cet écran afin que nous puissions désactiver ces vérifications de code plus facilement.
Shadoninja
158

Ajoutez un indice à votre code afin que les autres connaissent votre intention:

@SuppressWarnings("Duplicates")
Max Barrass
la source
3
Ceci est la réponse technique, merci
Yougesh
15
La meilleure solution permet de supprimer les conflits lorsque la duplication est intentionnelle.
user2120275
2
^ faites ceci, ne le désactivez pas complètement. Le code en double est une odeur de code sauf à certains endroits
Carson Graham
Est-ce que tu plaisantes? Ajouter du code pour compenser le déficit IDE?
ACV
15

Oui, c'est possible , mais je vous le déconseille vivement !

Le code dupliqué est une forme de dette technique. Tout code dupliqué contenant un bogue signifie que vous avez maintenant un bogue dupliqué - vous courez alors le risque que lorsque vous le corrigez, vous ne le corrigerez qu'à un seul endroit et le doublon restera ...

Si les avertissements de code en double vous distraient, la meilleure stratégie pour s'en débarrasser est de supprimer la duplication de code ... Votre base de code et les futurs responsables vous en remercieront

Kevin Wright
la source
40
OK, mais parfois j'ai l'ancienne version et la nouvelle version de la même classe. Là, la duplication est normale, je n'ai pas besoin de l'avertissement. C'est juste très intrusif et cache de nombreux autres avertissements utiles. La question est légitime.
Florian F
3
Je trouve qu'il se déclenche à tort pour les tests unitaires avec des configurations similaires. Parfois, je ne peux pas le faire disparaître même si je change les tests de manière assez significative.
Julian Jocque
8
Ce n'est pas toujours aussi simple que de se débarrasser de tous les doublons! Par exemple, dans les contrôleurs Web, il y a beaucoup de similitudes entre les indicateurs comme des doublons, ils ne sont pas des doublons exacts. Les avantages de garder vos contrôleurs séparés de manière logique sont utiles à bien des égards et ce n'est qu'un exemple. Pragmatique pas puriste obtient des projets livrés dans mon expérience.
Shawn Vader
5
Vous prétendez que c'est possible et pourtant vous ne décrivez pas comment. Il y a beaucoup de situations où cela n'a aucun sens d'essayer d'abstraire. S'il vous plaît au moins dire "Oui, voici comment, MAIS ...."
Dilapidus
3
cette réponse n'est pas du tout liée à la question.
ACV
5

Cette réponse peut être peu pertinente, mais j'ai trouvé cela utile, à partir de cette réponse si vous souhaitez la désactiver pour un bloc de code spécifique, pas pour toute la méthode, la classe ou l'ide, ajoutez simplement la ligne suivante juste avant ce bloc de code

//noinspection Duplicates

Remarque: vous ne pouvez mettre aucun autre commentaire après cette ligne.

Emdadul Sawon
la source