나는 약간 깔끔한 괴물이며 using각 클래스에서 참조와 s를 정리 하여 실제로 사용되는 것만 유지하여 프로젝트를 유지하는 경향이 있습니다.
필수 사항을 지키기 위해 OCD 신경을 진정시키는 다른 주장은 무엇입니까? 나는 대부분 시스템 참조를 생각하고 있습니다. 맞춤 작업에 대한 참조는 많은 이전 버전과의 호환성 문제를 가져올 것입니다. 릴리즈 풋 프린트가 더 큽니까? 더 긴 컴파일 시간?
나는 약간 깔끔한 괴물이며 using각 클래스에서 참조와 s를 정리 하여 실제로 사용되는 것만 유지하여 프로젝트를 유지하는 경향이 있습니다.
필수 사항을 지키기 위해 OCD 신경을 진정시키는 다른 주장은 무엇입니까? 나는 대부분 시스템 참조를 생각하고 있습니다. 맞춤 작업에 대한 참조는 많은 이전 버전과의 호환성 문제를 가져올 것입니다. 릴리즈 풋 프린트가 더 큽니까? 더 긴 컴파일 시간?
답변:
Intellisense는 using최소한으로 유지하면 훨씬 더 유용 할 것 입니다. 이는 큰 이점입니다.
그 외에는 이득이 없다고 생각합니다. 따라서 C # 컴파일러는 1 % 더 빠르게 작동 할 것입니다. 그래서 뭐.
Ctrl+."Add namespace XYZ" 를 빠르게 고칠 수 있도록합니다
using실제로 불필요하다는 것을 알기 전까지는 무시할 수 없지만 전체 소스 파일을 먼저 컴파일하지 않은 경우에는이를 알아낼 수 없습니다. 프로젝트 참조와 마찬가지로 동적 (컴파일 타임에 감지 할 수 없음) 방식으로 사용될 수 있기 때문에 사용되지 않는 것처럼 보이기 때문에 버려지지 않습니다.
Visual Studio (간단한 마우스 클릭)에서이 작업을 수행하는 것은 사실상 사소한 일이므로 왜하지 않습니까?
이것은 Occam 's Razor 와 일치하며 , 단지 훌륭한 엔지니어링입니다.
그렇지 않으면 다른 개발자가 프로젝트를 열려고 할 때 컴퓨터에없는 라이브러리에 대한 (사용하지 않은) 참조가 포함 된 경우 어떻게되는지 고려하십시오. 이제 가난한 개발자는 확인되지 않은 참조가 존재하는 이유와 그에 대한 조치를 파악해야합니다.
원하는 경우 황금률 측면에서 고려하십시오. 컴퓨터에없는 라이브러리에 대한 참조가 많고 왜 그 라이브러리에 있는지 전혀 모르는 프로젝트에서 개발을 진행하고 싶습니까?
using명령문은 컴파일러가 클래스 등을 완전히 참조 할 수 있도록하기위한 using것입니다 . 추가 명령문은 컴파일 시간에 별다른 영향을 미치지 않습니다.
또한 런타임은 실제로 필요할 때까지 참조 된 어셈블리를로드하지 않으므로 불필요한 참조로 인한 부정적인 결과는 없다고 생각합니다.
Reflector와 같은 도구를 사용하는 경우 이러한 불필요한 비트를 찾아 제거하는 것이 대부분 자동화 될 수 있으므로 이러한 활동에 많은 시간을 소비하는 것은 낭비라고 말하고 싶습니다. 예를 들어, 불필요한 using진술 을 수동으로 제거하는 1 ~ 2 시간의 시간 이 Reflector 라이센스 비용을 지불하며 다른 많은 생산성 향상 기능과 함께 제공됩니다.
usings와 미사용 참조의 구별을 명확하게 표현하기 위해 +1 둘은 매우 다릅니다!
위의 것 외에도 여기에서 아직 언급하지 않은 것 같습니다. 각 참조에는 .NET 프레임 워크 또는 외부 DLL 내의 구성 요소가 필요합니다. 외부 DLL을 참조하는 경우 소프트웨어를 실행할 때 언제 어디에서나 참조해야합니다.
편집-아래 phoog의 유효한 주석에 따라 : DLL이 사용되지 않고 참조에 추가 되었기 때문에 응용 프로그램과 함께 제공되지 않아도 응용 프로그램은 계속 실행됩니다. 코드에서 사용되지 않은 참조를 처리 하려면 다음을 참조하십시오 . 사용하지 않는 참조 제거 .
using들과 참조는 같은 것이 아니다. 많은 답변이이를 고려하지 않습니다.