VS 프로젝트에서 사용하지 않는 using 문을 제거하면 이점이 있습니까? (예 : Resharper를

VS 프로젝트에서 사용하지 않는 using 문을 제거하면 이점이 있습니까 (예 : Resharper를 사용하여 수행 할 수 있음) VS는 빌드 / 배포시이를 자동으로 처리합니까?



답변

그것이 의미하는 바라면 성능상의 이점은 없습니다.

어셈블리의 모든 참조는 정규화되어 있습니다. 컴파일러는 사용자가 코드에 제공 한 참조를 사용하여 식별자를 정규화하기 때문에 소스 코드에서 사용되지 않은 참조의 영향은 가독성이 약간 감소하고 (이 참조가 여기에있는 이유) 컴파일 시간이 약간 증가하는 것입니다.

달리 말하면, 생성 된 IL은 사용하지 않는 참조를 제거하든 없든 정확히 동일합니다.


답변

예-두 가지 주요 이점을 생각할 수 있습니다.

  1. 그 주요 기능 목적을 넘어 네임 스페이스 (또는 적어도있는 (특히 ReSharper에서없는 사람을) 미래의 리더를 말할 수있는 코드 파일의 맨 위에 ‘사용’문 목록을 (즉, 코드의 상세를 줄이기 위해) 했다 그 코드 파일) 관련 . 이 목록을 적극적으로 정리하면 더 나은 신호 메커니즘으로 작동 할 수 있습니다.
  2. 사용하지 않는 네임 스페이스를 제거하면 입력 할 때 텍스트 편집기에서 자동 완성 후보 수가 줄어 듭니다. 자동 완성 목록에 의존하는 경우 “직접적이고 좁게”유지하는 데 도움이되고 원하는 자동 완성 후보를 조금 더 빨리 찾을 수 있기 때문에 입력 속도를 높일 수도 있습니다.

답변

사용하지 않는 코드를 제거하는 것은 추가 수하물이며 달성 된 효율성을 측정하기가 어렵습니다.

  • 사용하지 않는 코드를 제거하고 컴파일 시간을 줄이면 15 ~ 20 분 정도 걸리는 프로젝트를 진행하고 있으며 사용하지 않는 코드가 많이 있습니다. 사용하지 않는 코드를 제거하면 컴파일 시간이 ~ 7 분으로 단축되었습니다. 이는 팀에 많은 개발자가있을 때 어려워서 모든 사람이 빠르게 빌드하고 테스트 할 시간을 절약합니다.

  • 빌드 및 단위 테스트를 자동화 한 경우 이제 필요하지 않은 단위 테스트를 제거했습니다. 다시 이것은 단위 테스트를 실행하는 데 걸리는 시간이 줄어 듭니다. Continuous Build 관리 프로세스의 효율성이 향상되었습니다.

    • 사용하지 않는 코드는 바이너리의 풋 프린트를 크게합니다. 코드 풋 프린트가 작을수록 처음로드 / 시작하는 데 걸리는 시간이 줄어 듭니다. 이익은 매우 빈약하고 주관적 일 수 있지만.

답변