Programming

Intellij Idea에서 사용되지 않는 모든 클래스를 어떻게 찾습니까?

procodes 2020. 8. 5. 21:27
반응형

Intellij Idea에서 사용되지 않는 모든 클래스를 어떻게 찾습니까?


Intellij Idea에서 사용되지 않은 모든 코드를 찾을 수있는 "미사용 선언"검사가 있습니다. (볼 이 질문에 )하지만 사용하지 않는 모든 클래스 찾으려 하지 방법, 변수 등 클래스를. (3000 결과 목록에서 클래스 만 찾기가 어렵습니다). 내가 어떻게 할 수 있습니까?


  • Ctrl+ Shift+를 누릅니다 A(Mac Command+ Shift+ A)
  • "미사용 신고"를 입력하십시오
  • "미사용 선언"을 두 번 클릭하십시오.

설정이 나타납니다

  • Java / 선언 중복 / 미사용 선언을 클릭하십시오.
  • 오른쪽 하단에서 "Fly Editor 설정"을 선택하십시오.
  • 확인 필드를 선택 취소하고 ..., 매개 변수를 확인하십시오. Check Classes 만 체크해야합니다.
  • OK를 누릅니다

설정이 닫힙니다

  • 메뉴 표시 줄에서 이름으로 검사 / 검사 실행 (또는 Mac + + + ) 에서 Ctrl+ Alt+ Shift+ I-를 클릭하십시오.CommandOptionShiftI
  • "미사용 decla"텍스트 삽입
  • "사용하지 않은 선언 Java | 선언 중복성"을 선택하십시오.

검색 시작

  • 완료되면 Idea 하단의 작업 상태를 확인하십시오. 결과를 엉망으로 만든 코드를 정리하는 느낌을 즐기십시오. :)

나는 이것이 가능하다고 생각하지 않습니다. 이 기능은 다른 "사용하지 않은 XXX 제거"리팩토링과 같은 방식으로 안전하게 사용할 수 없기 때문에 의도적으로 IDE에서 제외 된 것으로 생각됩니다.

사용되지 않는 선언 IDEA (및 AFAIK, NetBeans)는 개인 멤버 및 로컬 변수를 찾습니다. 해당 클래스 또는 범위 외부에서 동적으로 액세스 할 수없는 것입니다. (적어도 리플렉션 또는 JVM 해킹으로 수행하지 않는 것은하지 마십시오.) 외부 코드가 라이브러리에서 수행하는 작업에 관계없이 범위가 제한되어 있기 때문에 해당 코드를 사용하지 않습니다. IDE는 모든 것을 볼 수 있습니다. 컴파일러는 코드 만보고이를 확인할 수 있습니다.

클래스의 경우 public액세스 권한 Class.forName()없더라도을 사용하여 동적으로 참조 할 수 있으며 실제로는 라이브 코드에서 발생합니다. 따라서 프로젝트 코드 내에서 분명히 사용되지 않더라도 라이브러리를 사용하는 외부 코드 또는 사용자 코드에 따라 사용될 수 있습니다. 따라서 IDE는 해당 클래스를 제거해도 외부에서 관찰 가능한 동작이 변경되지 않는다고 보장 할 수 없습니다.

그렇기 때문에 IDEA는 이러한 동작을 제공하지 않습니다. 사용자에게 안전에 대한 잘못된 기대를 줄 수 있으며,이를 제거하는 것은 안전한 리팩토링이 아닙니다.


Unused Symbol다음 설정으로 검사를 살펴 봐야 할 수도 있습니다 .

여기에 이미지 설명을 입력하십시오


이것이 귀하의 질문에 대답할지 확실하지 않지만 Fortify로 과거에 도구를 사용하여 프로젝트에서 코드 검토 규칙을 실행했습니다. 무료 플러그인 / 소프트웨어도 동일하게 제공 될 것입니다.

참고 URL : https://stackoverflow.com/questions/22522013/how-find-all-unused-classes-in-intellij-idea

반응형