¿Es posible desactivar la detección de código duplicado en Intellij?

144

¿Es posible desactivar la detección de código duplicado en Intellij?

No he encontrado que esta característica sea útil y continúa distrayéndome.

zudduz
fuente

Respuestas:

201

Solo disponible en IntelliJ Ultimate:

Para deshabilitar la detección de código duplicado, vaya a

Archivo → Configuración → Editor → Inspecciones → General → Fragmento de código duplicado

y desmarque la casilla "Fragmento de código duplicado". duplicación de código intellij

Vojtech Ruzicka
fuente
44
Esta opción no está disponible en IDEA community edition.
Saikat
44
La detección de código duplicado @takias no es una característica en la edición de la comunidad en absoluto. Solo está presente en la edición Ultimate.
AER
2
En realidad, funciona después de cerrar el archivo en el que trabaja y volver a abrirlo o reiniciar el IDE después de aplicar esta configuración
ACV
1
Las acciones sugeridas deberían ofrecer llevarnos a esta pantalla para que podamos desactivar estas comprobaciones de código más fácilmente.
Shadoninja
157

Agregue una pista a su código para que otros sepan su intención:

@SuppressWarnings("Duplicates")
Max Barrass
fuente
3
Esta es la respuesta técnica, gracias
Yougesh
14
La mejor solución, ya que permite la supresión de la guerra donde la duplicación es intencional.
user2120275
2
^ haga esto, no lo deshabilite por completo. El código duplicado es olor a código, excepto en algunos lugares
Carson Graham
Estas bromeando Añadir código para compensar la deficiencia de IDE?
ACV
15

Sí, es posible , ¡pero lo recomendaría encarecidamente !

El código duplicado es una forma de deuda técnica. Cualquier código duplicado que contenga un error significa que ahora tiene un error duplicado; entonces corre el riesgo de que cuando lo arregle, solo lo arregle en un lugar y el duplicado permanecerá ...

Si las advertencias de código duplicado lo están distrayendo, entonces la mejor estrategia para deshacerse de ellas es eliminar la duplicación de código ... Su base de código y los futuros mantenedores se lo agradecerán.

Kevin Wright
fuente
40
OK, pero a veces tengo la versión anterior y la nueva versión de la misma clase. La duplicación es normal, no necesito la advertencia. Es muy intrusivo y esconde muchas otras advertencias útiles. La pregunta es legítima.
Florian F
3
Me parece que se dispara erróneamente para pruebas unitarias con configuraciones similares. A veces no puedo hacer que desaparezca, incluso si cambio las pruebas de manera bastante significativa.
Julian Jocque
8
¡No siempre es tan simple como deshacerse de todos los duplicados! Por ejemplo, en los controladores web hay una gran similitud que marca como duplicados que no son duplicados exactos. Los beneficios de mantener sus controladores separados lógicamente son útiles de muchas maneras y ese es solo un ejemplo. Pragmatic no purist consigue proyectos entregados en mi experiencia.
Shawn Vader
55
Afirma que es posible y, sin embargo, no describe cómo. Hay muchas situaciones en las que no tiene sentido intentar abstraer. Al menos diga "Sí, así es cómo, PERO ..."
Dilapidus
3
esta respuesta no está relacionada con la pregunta en absoluto.
ACV
5

Esta respuesta puede ser poco irrelevante, pero me pareció útil. De esta respuesta si desea deshabilitarla para un bloque de código específico, no para todo el método o clase o ide, simplemente agregue la siguiente línea justo antes de ese bloque de código

//noinspection Duplicates

Nota: No puede poner ningún otro comentario después de esta línea.

Emdadul Sawon
fuente