È possibile disabilitare il rilevamento di codice duplicato in Intellij?


144

È possibile disabilitare il rilevamento di codice duplicato in Intellij?

Non ho trovato utile questa funzione e continua a distrarmi.

Risposte:


201

Disponibile solo in IntelliJ Ultimate:

Per disabilitare il rilevamento di codice duplicato, vai a

File → Impostazioni → Editor → Ispezioni → Generale → Frammento di codice duplicato

e deseleziona la casella "Duplica frammento di codice". duplicazione del codice intellij


4
Questa opzione non è disponibile nell'edizione della comunità IDEA.
Saikat,

4
Il rilevamento di codice duplicato di @takias non è affatto una funzionalità nell'edizione Community. È presente solo nell'ultima edizione.
AER,

2
In realtà funziona dopo aver chiuso il file su cui lavori e riaprirlo o riavviare l'IDE dopo aver applicato queste impostazioni
ACV

1
Le azioni suggerite dovrebbero offrire di portarci a questa schermata in modo da poter disabilitare più facilmente questi controlli del codice.
Shadoninja,

157

Aggiungi un suggerimento al tuo codice in modo che gli altri conoscano il tuo intento:

@SuppressWarnings("Duplicates")

3
Questa è la risposta tecnica, grazie
Yougesh

14
La migliore soluzione in quanto consente la soppressione della guerra in cui la duplicazione è intenzionale.
user2120275,

2
^ fai questo, non disabilitarlo completamente. Il codice duplicato è odore di codice tranne che in alcuni punti
Carson Graham,

Stai scherzando? Aggiungere il codice per compensare la carenza dell'IDE?
ACV

15

Sì, è possibile , ma lo sconsiglio vivamente !

Il codice duplicato è una forma di debito tecnico. Qualsiasi codice duplicato che contiene un bug significa che ora hai un bug duplicato: corri il rischio che quando lo ripari, lo ripari solo in un posto e il duplicato rimarrà ...

Se avvisi di codice duplicati ti distraggono, la migliore strategia per sbarazzartene è rimuovere la duplicazione del codice ... La tua base di codice e i futuri manutentori ti ringrazieranno per questo


40
OK, ma a volte ho la vecchia versione e la nuova versione della stessa classe. La duplicazione è normale, non ho bisogno dell'avvertimento. È solo molto invadente e nasconde molti altri avvisi utili. La domanda è legittima.
Florian F,

3
Trovo che si attivi erroneamente per test unitari con configurazioni simili. A volte non riesco a farlo sparire anche se cambio i test in modo abbastanza significativo.
Julian Jocque,

8
Non è sempre così semplice come sbarazzarsi di tutti i duplicati! Ad esempio nei controller web c'è molta somiglianza che contrassegna come duplicati non sono duplicati esatti. I vantaggi di mantenere i controller separati logicamente sono utili in molti modi e questo è solo un esempio. Pragmatico non purista ottiene progetti consegnati nella mia esperienza.
Shawn Vader,

5
Sostieni che è possibile e tuttavia non descrivi come. Ci sono molte situazioni in cui non ha senso provare e astrarre. Per favore, dì almeno "Sì, ecco come, MA ...."
Dilapidus,

3
questa risposta non è affatto correlata alla domanda.
ACV

5

Questa risposta potrebbe essere poco irrilevante, ma l'ho trovato utile, da questa risposta se si desidera disabilitarlo per un blocco di codice specifico, non l'intero metodo o classe o ide, quindi aggiungere la seguente riga appena prima di quel blocco di codice

//noinspection Duplicates

Nota: non è possibile inserire altri commenti dopo questa riga.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.