Intellij에서 중복 코드 감지를 비활성화 할 수 있습니까?


145

Intellij에서 중복 코드 감지를 비활성화 할 수 있습니까?

이 기능이 유용하지 않다는 것을 알게되었으며 계속 산만하게합니다.

답변:


201

IntelliJ Ultimate에서만 사용 가능 :

중복 코드 감지를 비활성화하려면

파일 → 설정 → 편집기 → 검사 → 일반 → 중복 된 코드 조각

"중복 코드 조각"확인란의 선택을 취소하십시오. 인텔리전스 코드 복제


4
IDEA Community Edition에서는이 옵션을 사용할 수 없습니다.
Saikat

4
@takias 중복 코드 감지는 Community Edition의 기능이 아닙니다. Ultimate 에디션에서만 제공됩니다.
AER

2
실제로 작업 한 파일을 닫았다가 다시 열거 나 IDE를 다시 시작한 후 이러한 설정을 적용한 후에 작동합니다.
ACV

1
이 코드 확인을 더 쉽게 비활성화 할 수 있도록 제안 된 조치를 통해이 화면으로 이동해야합니다.
Shadoninja

158

다른 사람들이 의도를 알 수 있도록 코드에 힌트를 추가하십시오.

@SuppressWarnings("Duplicates")

3
이것은 기술적 답변입니다. 감사합니다
Yougesh

15
복제가 의도 된 곳에서 경고를 억제 할 수있는 최상의 솔루션입니다.
user2120275

2
^ 이렇게하십시오. 완전히 비활성화하지 마십시오. 중복 코드는 일부 장소를 제외하고 코드 냄새입니다.
Carson Graham

농담하니? IDE 결함을 보완하는 코드를 추가 하시겠습니까?
ACV

15

예, 가능 하지만 강력하게 권고 할 것입니다!

중복 코드는 기술 부채의 한 형태입니다. 버그가 포함 된 중복 된 코드는 이제 중복 된 버그가 있음을 의미합니다. 그런 다음 버그를 고치면 한 곳에서만 문제가 해결되고 복제본이 남을 위험이 있습니다 ...

중복 코드 경고로 인해주의가 산만 해지면이를 제거하는 가장 좋은 전략 은 코드 중복제거하는 것입니다 . 코드 베이스와 미래의 관리자가 감사합니다


40
알았지 만 때로는 같은 클래스의 이전 버전과 새 버전이 있습니다. 중복은 정상이므로 경고가 필요 없습니다. 그것은 매우 방해가되며 다른 많은 유용한 경고를 숨 깁니다. 문제는 합법적입니다.
Florian F

3
비슷한 설정으로 단위 테스트를 할 때 잘못 발생하는 것으로 나타났습니다. 때로는 테스트를 상당히 크게 변경하더라도 사라지지 않을 수 있습니다.
Julian Jocque

8
모든 복제본을 제거하는 것만 큼 간단하지는 않습니다! 예를 들어 웹 컨트롤러에는 중복으로 표시되는 플래그와 정확히 유사하지 않은 유사성이 많이 있습니다. 컨트롤러를 논리적으로 분리 된 상태로 유지하는 이점은 여러 가지면에서 유용하며 이는 하나의 예일뿐입니다. 실용적이지 않은 순수 주의자는 내 경험으로 프로젝트를 전달합니다.
Shawn Vader

5
당신은 그것이 가능하다고 주장하지만 방법을 설명하지 않습니다. 시도하고 추상화하는 것이 의미가없는 상황이 많이 있습니다. 적어도 "예, 여기에 방법은 있지만 ...."이라고 말하십시오
Dilapidus

3
이 답변은 질문과 전혀 관련이 없습니다.
ACV

5

이 답변은 거의 관련이 없지만 도움 되었습니다. 전체 메소드 또는 클래스 또는 IDE가 아닌 특정 코드 블록에 대해 비활성화하려는 경우 해당 코드 블록 바로 앞에 다음 줄을 추가하십시오.

//noinspection Duplicates

참고 :이 줄 뒤에 다른 설명을 넣을 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.